toolu-orm-core 0.2.0

Schema definitions, migrations and driver traits for toolu-orm
Documentation
# toolu-orm-core

Core types and schema engine for toolu-orm. Provides column types, table definitions, value conversions, type-safe expression building, schema snapshotting, diffing, and SQL generation.

## Stack

- **Serialization:** serde + serde_json (schema snapshots, journals)
- **Hashing:** sha2 (migration integrity)
- **Database:** libsql or rusqlite (feature-gated, optional)

## Architecture

```
src/
├── lib.rs              # Module exports
├── column.rs           # ColumnType, ColumnDef, marker types
├── table.rs            # TableDef, TableSchema trait
├── schema.rs           # SchemaRegistry
├── index.rs            # IndexDef
├── value.rs            # Value enum + driver conversions
├── row.rs              # FromRow trait (feature-gated)
├── expr/               # Expr, ExprKind, OrderBy, JoinCondition (types.rs) + per-dialect rendering (render.rs)
├── query_column.rs     # Column<T>, ColumnRef, CommonOps/TextOps/NumericOps
├── connection.rs       # libsql Connection wrapper (feature: libsql)
├── error.rs            # DbCoreError
├── diff.rs             # Schema diff → Operation list
├── journal.rs          # Migration journal (entries + SHA256 hashes)
├── snapshot.rs         # Schema snapshot serialization
└── sql.rs              # SQL generation from Operations
```

## Usage

```rust
use toolu_orm_core::{column::ColumnType, table::TableDef, schema::SchemaRegistry};
use toolu_orm_core::query_column::{Column, CommonOps, TextOps};
use toolu_orm_core::expr::Expr;
use toolu_orm_core::value::Value;

// Type-safe column references
const NAME: Column<toolu_orm_core::column::Text> = Column::new("users", "name");
let filter = NAME.eq("Alice").and(NAME.like("%admin%"));

// Schema diffing
let ops = toolu_orm_core::diff::diff(&old_snapshot, &new_registry);
let sql = toolu_orm_core::sql::generate_sql(&ops);
```

## Development

```sh
cargo build -p toolu-orm-core
cargo nextest run -p toolu-orm-core
cargo clippy -p toolu-orm-core -- -D warnings
```