26 lines
687 B
SQL
26 lines
687 B
SQL
-- Your SQL goes here
|
|
CREATE TABLE localuser (
|
|
`user_id` VARCHAR NOT NULL PRIMARY KEY,
|
|
`username` VARCHAR NOT NULL UNIQUE,
|
|
`password` VARCHAR NOT NULL,
|
|
`role` TEXT CHECK(role IN ('admin', 'zoneadmin')) NOT NULL, -- note: migrate to postgres so enum are actually a thing
|
|
FOREIGN KEY(user_id) REFERENCES user(id)
|
|
);
|
|
|
|
CREATE TABLE user (
|
|
`id` VARCHAR NOT NULL PRIMARY KEY
|
|
);
|
|
|
|
CREATE TABLE user_zone (
|
|
`user_id` VARCHAR NOT NULL,
|
|
`zone_id` VARCHAR NOT NULL,
|
|
PRIMARY KEY(user_id, zone_id),
|
|
FOREIGN KEY(user_id) REFERENCES user(id),
|
|
FOREIGN KEY(zone_id) REFERENCES zone(id)
|
|
);
|
|
|
|
CREATE TABLE zone (
|
|
`id` VARCHAR NOT NULL PRIMARY KEY,
|
|
`name` VARCHAR NOT NULL UNIQUE
|
|
);
|