73 lines
3.1 KiB
SQL
73 lines
3.1 KiB
SQL
DROP TABLE IF EXISTS "heartbeat";
|
|
DROP SEQUENCE IF EXISTS heartbeat_id_seq;
|
|
CREATE SEQUENCE heartbeat_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;
|
|
|
|
CREATE TABLE "public"."heartbeat"
|
|
(
|
|
"id" integer DEFAULT nextval('heartbeat_id_seq') NOT NULL,
|
|
"user" integer NOT NULL,
|
|
"created_at" timestamptz NOT NULL,
|
|
"ip_addr" text NOT NULL,
|
|
"auth_token" text NOT NULL,
|
|
CONSTRAINT "heartbeat_pkey" PRIMARY KEY ("id")
|
|
) WITH (oids = false);
|
|
|
|
CREATE INDEX "heartbeats_user_idx" ON "public"."heartbeat" USING btree ("user");
|
|
|
|
|
|
DROP TABLE IF EXISTS "organization";
|
|
DROP SEQUENCE IF EXISTS organization_id_seq;
|
|
CREATE SEQUENCE organization_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;
|
|
|
|
CREATE TABLE "public"."organization"
|
|
(
|
|
"id" integer DEFAULT nextval('organization_id_seq') NOT NULL,
|
|
"name" text NOT NULL,
|
|
"owner_name" text NOT NULL,
|
|
"owner_phone" text NOT NULL,
|
|
"owner_email" text NOT NULL,
|
|
"created_at" timestamptz NOT NULL,
|
|
"deleted_at" timestamptz NULL DEFAULT NULL,
|
|
"authorized" integer NOT NULL,
|
|
"auth_token" text NOT NULL,
|
|
CONSTRAINT "organization_name_key" UNIQUE ("name"),
|
|
CONSTRAINT "organization_pkey" PRIMARY KEY ("id")
|
|
) WITH (oids = false);
|
|
|
|
CREATE INDEX "organizations_name_idx" ON "public"."organization" USING btree ("name");
|
|
|
|
CREATE INDEX "organizations_owner_email_idx" ON "public"."organization" USING btree ("owner_email");
|
|
|
|
CREATE INDEX "organizations_owner_phone_idx" ON "public"."organization" USING btree ("owner_phone");
|
|
|
|
DROP TABLE IF EXISTS "user";
|
|
DROP SEQUENCE IF EXISTS user_id_seq;
|
|
CREATE SEQUENCE user_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;
|
|
|
|
CREATE TABLE "public"."user"
|
|
(
|
|
"id" integer DEFAULT nextval('user_id_seq') NOT NULL,
|
|
"username" text NOT NULL,
|
|
"password" text NOT NULL,
|
|
"name" text NOT NULL,
|
|
"email" text NOT NULL,
|
|
"auth_token" text NOT NULL,
|
|
"authorized" integer NOT NULL,
|
|
"admin" integer NOT NULL,
|
|
"organization" integer NOT NULL,
|
|
CONSTRAINT "user_email_key" UNIQUE ("email"),
|
|
CONSTRAINT "user_pkey" PRIMARY KEY ("id"),
|
|
CONSTRAINT "user_username_key" UNIQUE ("username")
|
|
) WITH (oids = false);
|
|
|
|
CREATE INDEX "user_email_idx" ON "public"."user" USING btree ("email");
|
|
|
|
CREATE INDEX "user_username_idx" ON "public"."user" USING btree ("username");
|
|
|
|
|
|
ALTER TABLE ONLY "public"."heartbeat"
|
|
ADD CONSTRAINT "heartbeat_user_fkey" FOREIGN KEY ("user") REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE;
|
|
|
|
ALTER TABLE ONLY "public"."user"
|
|
ADD CONSTRAINT "user_organization_fkey" FOREIGN KEY (organization) REFERENCES organization (id) ON DELETE CASCADE NOT DEFERRABLE;
|