mast/db/migrations.go

25 lines
586 B
Go
Raw Permalink Normal View History

package mast
2024-08-03 18:06:43 -07:00
import (
"database/sql"
2024-08-03 18:06:43 -07:00
)
func RunMigrations(db *sql.DB) error {
// Load the cr-sqlite extension
// _, err := db.Exec("SELECT load_extension('./crsqlite.so', 'sqlite3_crsqlite_init')")
// if err != nil {
// return fmt.Errorf("failed to load cr-sqlite extension: %w", err)
// }
2024-08-03 18:06:43 -07:00
// Create the todos table and initialize it as a CRDT
_, err := db.Exec(`
CREATE TABLE IF NOT EXISTS todos (id blob PRIMARY KEY NOT NULL, content TEXT, completed INTEGER NOT NULL DEFAULT 0);
SELECT crsql_as_crr('todos');
2024-08-03 18:06:43 -07:00
`)
if err != nil {
return err
}
2024-08-03 18:06:43 -07:00
return nil
2024-08-03 18:06:43 -07:00
}