- Created a new Cargo.toml for the workspace, defining members and dependencies. - Added a migration crate with its own Cargo.toml and README for CLI usage. - Implemented migration logic for creating tables: accounts, settings, exchange rates, goals, tags, scheduled transactions, transactions, reconciliations, transfers, transaction tags, goal rules, goal progress, and scheduled instances. - Added main entry point for the migration CLI. - Included a Justfile for initializing the environment and managing database migrations.
821 B
821 B
Running Migrator CLI
- Generate a new migration file
cargo run -- generate MIGRATION_NAME - Apply all pending migrations
cargo runcargo run -- up - Apply first 10 pending migrations
cargo run -- up -n 10 - Rollback last applied migrations
cargo run -- down - Rollback last 10 applied migrations
cargo run -- down -n 10 - Drop all tables from the database, then reapply all migrations
cargo run -- fresh - Rollback all applied migrations, then reapply all migrations
cargo run -- refresh - Rollback all applied migrations
cargo run -- reset - Check the status of all migrations
cargo run -- status