db: make migrations a struct instead of a plain string

This commit is contained in:
wispem-wantex
2026-09-19 21:35:27 -07:00
committed by ~wispem-wantex
parent d2b3a8173f
commit ff7f0a57c8
5 changed files with 42 additions and 26 deletions

View File

@@ -18,7 +18,7 @@ func TestCreateAndConnectToDB(t *testing.T) {
_schema_sql, err := os.ReadFile("../../sample_data/test_schemas/food.sql")
require.NoError(t, err)
schema_sql := string(_schema_sql)
migrations := []string{}
migrations := []db.Migration{}
config := db.Init(&schema_sql, &migrations)
@@ -43,7 +43,7 @@ func TestVersionUpgrade(t *testing.T) {
create table db_version (version integer primary key) strict, without rowid;
insert into db_version values(0);
`
migrations := []string{}
migrations := []db.Migration{}
config := db.Init(&initial_schema, &migrations)
connection, err := config.Create(":memory:")
@@ -61,7 +61,7 @@ func TestVersionUpgrade(t *testing.T) {
require.Equal(0, get_version(connection))
// Create a migration to add a new Item
migrations = append(migrations, "insert into items (rowid) values (1)")
migrations = append(migrations, db.Migration{ID: 1, SQL: "insert into items (rowid) values (1)"})
db.Init(&initial_schema, &migrations) // Reinitialize with the new migration
config.UpgradeFromXToY(connection, uint(len(migrations)-1), uint(len(migrations)))
@@ -71,7 +71,7 @@ func TestVersionUpgrade(t *testing.T) {
require.Equal(1, get_version(connection))
// Create a migration to add a new Item
migrations = append(migrations, `alter table items add column name string default 'asdf'`)
migrations = append(migrations, db.Migration{ID: 2, SQL: `alter table items add column name string default 'asdf'`})
config = db.Init(&initial_schema, &migrations) // Reinitialize with the new migration
config.UpgradeFromXToY(connection, uint(len(migrations)-1), uint(len(migrations)))