diff --git a/migrations/00001_init.sql b/migrations/00001_init.sql new file mode 100644 index 0000000..5f8d652 --- /dev/null +++ b/migrations/00001_init.sql @@ -0,0 +1,20 @@ +-- +goose Up +-- +goose StatementBegin +CREATE TABLE IF NOT EXISTS records ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + domain TEXT NOT NULL UNIQUE, + ip TEXT NOT NULL, + record_type TEXT DEFAULT 'A' +); + +CREATE TABLE IF NOT EXISTS upstreams ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + address TEXT NOT NULL UNIQUE +); +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +DROP TABLE IF EXISTS records; +DROP TABLE IF EXISTS upstreams; +-- +goose StatementEnd diff --git a/migrations/00002_support_aaaa.sql b/migrations/00002_support_aaaa.sql new file mode 100644 index 0000000..0fd433f --- /dev/null +++ b/migrations/00002_support_aaaa.sql @@ -0,0 +1,33 @@ +-- +goose Up +-- +goose StatementBegin +CREATE TABLE records_new ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + domain TEXT NOT NULL, + ip TEXT NOT NULL, + record_type TEXT DEFAULT 'A', + UNIQUE(domain, record_type) +); + +INSERT INTO records_new (id, domain, ip, record_type) +SELECT id, domain, ip, record_type FROM records; + +DROP TABLE records; + +ALTER TABLE records_new RENAME TO records; +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +CREATE TABLE records_old ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + domain TEXT NOT NULL UNIQUE, + ip TEXT NOT NULL, + record_type TEXT DEFAULT 'A' +); + +INSERT INTO records_old (id, domain, ip, record_type) +SELECT id, domain, ip, record_type FROM records; + +DROP TABLE records; +ALTER TABLE records_old RENAME TO records; +-- +goose StatementEnd