package mast import ( "database/sql" ) 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) // } // 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'); `) if err != nil { return err } return nil }