Summary
Add integration tests for vix::db::FileMigrationsRunner.
File migrations modify persistent schemas and migration history, so their ordering, checksums, transactions, and rollback behavior must be thoroughly validated.
Current behavior
The file migration runner:
- scans
.up.sql and .down.sql files;
- sorts migrations by identifier;
- calculates SHA-256 checksums;
- creates a migration tracking table;
- applies pending migrations;
- rejects changed applied migrations;
- rolls back the latest migrations.
These behaviors are not currently covered by automated tests.
Expected behavior
Tests must use temporary migration directories and temporary SQLite databases to validate the full migration lifecycle.
Scope
Suggested files
modules/db/tests/file_migrations_runner_test.cpp
modules/db/tests/fixtures/migrations/...
Acceptance criteria
Non-goals
This issue does not include:
- replacing the SQL statement splitter;
- adding migration status output;
- code-based migration tracking;
- SQLite migration generation.
Suggested labels
scope:db
type:ci
tests
help wanted
status:ready
Summary
Add integration tests for
vix::db::FileMigrationsRunner.File migrations modify persistent schemas and migration history, so their ordering, checksums, transactions, and rollback behavior must be thoroughly validated.
Current behavior
The file migration runner:
.up.sqland.down.sqlfiles;These behaviors are not currently covered by automated tests.
Expected behavior
Tests must use temporary migration directories and temporary SQLite databases to validate the full migration lifecycle.
Scope
Suggested files
modules/db/tests/file_migrations_runner_test.cppmodules/db/tests/fixtures/migrations/...Acceptance criteria
Non-goals
This issue does not include:
Suggested labels
scope:dbtype:citestshelp wantedstatus:ready