37 lines
1.1 KiB
SQL
37 lines
1.1 KiB
SQL
-- +goose Up
|
|
CREATE TABLE accounts (
|
|
id uuid DEFAULT uuid_generate_v4() NOT NULL,
|
|
budget_id uuid NOT NULL,
|
|
name varchar(50) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE payees (
|
|
id uuid DEFAULT uuid_generate_v4() NOT NULL,
|
|
budget_id uuid NOT NULL,
|
|
name varchar(50) NOT NULL
|
|
);
|
|
|
|
TRUNCATE TABLE transactions;
|
|
ALTER TABLE transactions ADD COLUMN account_id uuid NOT NULL;
|
|
ALTER TABLE transactions ADD COLUMN payee_id uuid;
|
|
|
|
|
|
|
|
ALTER TABLE "user_budgets" ADD FOREIGN KEY ("user_id") REFERENCES "users" ("id");
|
|
|
|
ALTER TABLE "user_budgets" ADD FOREIGN KEY ("budget_id") REFERENCES "budgets" ("id");
|
|
|
|
ALTER TABLE "transactions" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id");
|
|
|
|
ALTER TABLE "accounts" ADD FOREIGN KEY ("budget_id") REFERENCES "budgets" ("id");
|
|
|
|
ALTER TABLE "categories" ADD FOREIGN KEY ("budget_id") REFERENCES "budgets" ("id");
|
|
|
|
ALTER TABLE "assignments" ADD FOREIGN KEY ("category_id") REFERENCES "categories" ("id");
|
|
|
|
-- +goose Down
|
|
ALTER TABLE transactions DROP COLUMN account_id;
|
|
ALTER TABLE transactions DROP COLUMN payee_id;
|
|
|
|
DROP TABLE accounts;
|
|
DROP TABLE payees; |