1CREATE TABLE IF NOT EXISTS "signups" (
 2    "id" SERIAL PRIMARY KEY,
 3    "email_address" VARCHAR NOT NULL,
 4    "email_confirmation_code" VARCHAR(64) NOT NULL,
 5    "email_confirmation_sent" BOOLEAN NOT NULL,
 6    "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 7    "device_id" VARCHAR,
 8    "user_id" INTEGER REFERENCES users (id) ON DELETE CASCADE,
 9    "inviting_user_id" INTEGER REFERENCES users (id) ON DELETE SET NULL,
10
11    "platform_mac" BOOLEAN NOT NULL,
12    "platform_linux" BOOLEAN NOT NULL,
13    "platform_windows" BOOLEAN NOT NULL,
14    "platform_unknown" BOOLEAN NOT NULL,
15
16    "editor_features" VARCHAR[],
17    "programming_languages" VARCHAR[]
18);
19
20CREATE UNIQUE INDEX "index_signups_on_email_address" ON "signups" ("email_address");
21CREATE INDEX "index_signups_on_email_confirmation_sent" ON "signups" ("email_confirmation_sent");
22
23ALTER TABLE "users"
24    ADD "github_user_id" INTEGER;
25
26CREATE INDEX "index_users_on_email_address" ON "users" ("email_address");
27CREATE INDEX "index_users_on_github_user_id" ON "users" ("github_user_id");