refacto: reorganize files to easily add an API service
This commit is contained in:
parent
5c480db410
commit
9c883a8eca
22 changed files with 26 additions and 23 deletions
63
server/initdb/01_schema.sql
Normal file
63
server/initdb/01_schema.sql
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
CREATE TABLE IF NOT EXISTS "device" (
|
||||
"device_id" UUID NOT NULL DEFAULT uuidv4(),
|
||||
"device_eui" VARCHAR(255) NOT NULL UNIQUE,
|
||||
"site_id" UUID,
|
||||
PRIMARY KEY("device_id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "site" (
|
||||
"site_id" UUID NOT NULL DEFAULT uuidv4(),
|
||||
"pce" VARCHAR(255) NOT NULL UNIQUE,
|
||||
"address_1" VARCHAR(255) NOT NULL,
|
||||
"address_2" VARCHAR(255),
|
||||
"postal_code" VARCHAR(255) NOT NULL,
|
||||
"city" VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY("site_id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "user" (
|
||||
"user_id" UUID NOT NULL DEFAULT uuidv4(),
|
||||
"name" VARCHAR(255) NOT NULL,
|
||||
"first_name" VARCHAR(255) NOT NULL,
|
||||
"email" VARCHAR(255) NOT NULL UNIQUE,
|
||||
"password_hash" VARCHAR(255),
|
||||
"user_type_id" UUID NOT NULL,
|
||||
PRIMARY KEY("user_id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "reading" (
|
||||
"reading_id" UUID NOT NULL DEFAULT uuidv7(),
|
||||
"device_id" UUID NOT NULL,
|
||||
"date" TIMESTAMP NOT NULL,
|
||||
"pulses" INTEGER NOT NULL,
|
||||
PRIMARY KEY("reading_id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "subscription" (
|
||||
"subscription_id" UUID NOT NULL DEFAULT uuidv4(),
|
||||
"site_id" UUID NOT NULL,
|
||||
"user_id" UUID NOT NULL,
|
||||
PRIMARY KEY("subscription_id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "user_type" (
|
||||
"user_type_id" UUID NOT NULL DEFAULT uuidv4(),
|
||||
"label" VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY("user_type_id")
|
||||
);
|
||||
|
||||
ALTER TABLE "device"
|
||||
ADD FOREIGN KEY("site_id") REFERENCES "site"("site_id")
|
||||
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||
ALTER TABLE "subscription"
|
||||
ADD FOREIGN KEY("site_id") REFERENCES "site"("site_id")
|
||||
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||
ALTER TABLE "subscription"
|
||||
ADD FOREIGN KEY("user_id") REFERENCES "user"("user_id")
|
||||
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||
ALTER TABLE "reading"
|
||||
ADD FOREIGN KEY("device_id") REFERENCES "device"("device_id")
|
||||
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||
ALTER TABLE "user"
|
||||
ADD FOREIGN KEY("user_type_id") REFERENCES "user_type"("user_type_id")
|
||||
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||
Loading…
Add table
Add a link
Reference in a new issue