golib/cmd/sql-migrate/examples/pg-todos/sql/migrations/2026-04-05-002000_create-users-and-todos-users.up.sql
AJ ONeal de227bcaaf
feat(sql-migrate/examples): add pg-todos embedded migration runner
Example CLI todo app demonstrating sqlmigrate + pgmigrate for running
migrations directly via pgx/v5 instead of shelling out to psql. Uses
embed.FS for migration files, auto-migrates on startup, and includes
full CRUD for todos and folders with sqlc-ready query files.
2026-04-06 00:40:11 -06:00

18 lines
557 B
SQL

-- create-users-and-todos-users (up)
CREATE TABLE users (
id CHAR(8) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(254) NOT NULL UNIQUE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE todos_users (
todo_id CHAR(8) NOT NULL REFERENCES todos(id) ON DELETE CASCADE,
user_id CHAR(8) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
PRIMARY KEY (todo_id, user_id)
);
-- leave this as the last line
INSERT INTO _migrations (name, id) VALUES ('2026-04-05-002000_create-users-and-todos-users', 'b2c3d4e5');