Commit Graph

6 Commits

Author SHA1 Message Date
Michael Netshipise ceeecf2e5c Bump version to 0.3.2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:23:39 +02:00
Michael Netshipise 6c56231003 Use workspace version, add clap CLI to MCP server
- Define version in workspace.package, inherit in all crates
- Rename MCP binary from sqlx-record-expert to sqlx-record-mcp
- Add clap for --version and --help support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:19:14 +02:00
Michael Netshipise f785bb1bf6 Release v0.3.0 with soft deletes, timestamps, batch ops, pagination, transactions
New features:
- #[soft_delete] attribute with delete/restore/hard_delete methods
- #[created_at] auto-set on insert (milliseconds timestamp)
- #[updated_at] auto-set on every update (milliseconds timestamp)
- insert_many(&pool, &[entities]) for batch inserts
- upsert(&pool) / insert_or_update(&pool) for ON CONFLICT handling
- Page<T> struct with paginate() method for pagination
- find_partial() for selecting specific columns
- transaction! macro for ergonomic transaction handling
- PageRequest struct with offset/limit helpers

Technical changes:
- Added pagination.rs and transaction.rs modules
- Extended EntityField with is_soft_delete, is_created_at, is_updated_at
- Added generate_soft_delete_impl for delete/restore/hard_delete methods
- Upsert uses ON DUPLICATE KEY UPDATE (MySQL), ON CONFLICT DO UPDATE (Postgres/SQLite)
- Index hints supported in pagination and find_partial (MySQL)

All three database backends (MySQL, PostgreSQL, SQLite) tested and working.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:36:24 +02:00
Michael Netshipise b1052ac271 Release v0.2.0 with UpdateExpr, ConnProvider, MCP server, and skills
New features:
- UpdateExpr: Advanced updates with column arithmetic (Add, Sub, Mul, Div, Mod),
  CASE/WHEN conditionals, AddIf/SubIf, Coalesce, Greatest, Least, and raw SQL
- ConnProvider: Flexible borrowed/owned connection management
- lookup_table! and lookup_options! macros for type-safe lookup tables
- new_uuid() for time-ordered UUIDs with better database indexing
- MCP server (sqlx-record-expert) with documentation tools and resources
- Claude Code skills for all features

Improvements:
- Fixed Postgres/SQLite unsigned integer binding (cast to signed)
- Added From implementations for all integer types to Value
- Added param_count() to Filter for expression parameter counting
- Added bind_all_values() for proper expression binding order

All three database backends (MySQL, PostgreSQL, SQLite) build and work correctly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:21:14 +02:00
Michael Netshipise aba05b2b52 Rename to sqlx-record with multi-database support
- Renamed project from entity-changes to sqlx-record
- Renamed derive crate from entity-update_derive to sqlx-record-derive
- Renamed CLI tool from entity-changes-ctl to sqlx-record-ctl
- Renamed Condition to Filter (condition.rs -> filter.rs)
- Renamed condition_or/condition_and/conditions macros to filter_or/filter_and/filters
- Added multi-database support via feature flags:
  - mysql: MySQL support
  - postgres: PostgreSQL support (with $1, $2 placeholders)
  - sqlite: SQLite support
- Updated query generation for database-specific syntax:
  - Placeholder styles (? vs $1)
  - Table quoting (` vs ")
  - COUNT expressions
  - ILIKE handling
  - Version increment (IF vs CASE WHEN)
- Updated CLI tool for all three databases
- Updated documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:31:24 +02:00
Michael Netshipise e9079834c7 Import entity-changes project
Initial import of the entity-changes codebase as starting point for sqlx-record.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:19:38 +02:00