Add seed target for inserting seed data

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Max Brunsfeld
2021-08-05 14:16:40 -07:00
co-authored by Nathan Sobo
parent 1910a4c1be
commit 775bf8dd33
2 changed files with 115 additions and 20 deletions
@@ -4,6 +4,8 @@ CREATE TABLE IF NOT EXISTS "orgs" (
"slug" VARCHAR NOT NULL
);
CREATE UNIQUE INDEX "index_orgs_slug" ON "orgs" ("slug");
CREATE TABLE IF NOT EXISTS "org_memberships" (
"id" SERIAL PRIMARY KEY,
"org_id" INTEGER REFERENCES orgs (id) NOT NULL,
@@ -11,8 +13,8 @@ CREATE TABLE IF NOT EXISTS "org_memberships" (
"admin" BOOLEAN NOT NULL
);
CREATE UNIQUE INDEX "index_org_memberships_user_id" ON "org_memberships" ("user_id");
CREATE UNIQUE INDEX "index_org_memberships_org_id" ON "org_memberships" ("org_id");
CREATE INDEX "index_org_memberships_user_id" ON "org_memberships" ("user_id");
CREATE UNIQUE INDEX "index_org_memberships_org_id_and_user_id" ON "org_memberships" ("org_id", "user_id");
CREATE TABLE IF NOT EXISTS "channels" (
"id" SERIAL PRIMARY KEY,
@@ -21,7 +23,7 @@ CREATE TABLE IF NOT EXISTS "channels" (
"name" VARCHAR NOT NULL
);
CREATE UNIQUE INDEX "index_channels_owner" ON "channels" ("owner_is_user", "owner_id");
CREATE UNIQUE INDEX "index_channels_owner_and_name" ON "channels" ("owner_is_user", "owner_id", "name");
CREATE TABLE IF NOT EXISTS "channel_memberships" (
"id" SERIAL PRIMARY KEY,
@@ -30,8 +32,8 @@ CREATE TABLE IF NOT EXISTS "channel_memberships" (
"admin" BOOLEAN NOT NULL
);
CREATE UNIQUE INDEX "index_channel_memberships_user_id" ON "channel_memberships" ("user_id");
CREATE UNIQUE INDEX "index_channel_memberships_channel_id" ON "channel_memberships" ("channel_id");
CREATE INDEX "index_channel_memberships_user_id" ON "channel_memberships" ("user_id");
CREATE UNIQUE INDEX "index_channel_memberships_channel_id_and_user_id" ON "channel_memberships" ("channel_id", "user_id");
CREATE TABLE IF NOT EXISTS "channel_messages" (
"id" SERIAL PRIMARY KEY,
@@ -41,18 +43,4 @@ CREATE TABLE IF NOT EXISTS "channel_messages" (
"sent_at" TIMESTAMP
);
CREATE UNIQUE INDEX "index_channel_messages_channel_id" ON "channel_messages" ("channel_id");
INSERT INTO users (github_login, admin) VALUES ('iamnbutler', true);
DO $$
DECLARE
zed_org_id INTEGER;
max_id INTEGER;
nathan_id INTEGER;
antonio_id INTEGER;
nate_id INTEGER;
BEGIN
INSERT INTO "orgs" (name, slug) VALUES ('Zed', 'zed') RETURNING id into zed_org_id;
END $$;
CREATE INDEX "index_channel_messages_channel_id" ON "channel_messages" ("channel_id");