17 lines
1.7 KiB
MySQL
17 lines
1.7 KiB
MySQL
|
-- Create "indexes" table
|
||
|
CREATE TABLE `indexes` (`id` uuid NOT NULL, `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, `name` text NOT NULL, `revision` text NOT NULL, `site_id` uuid NOT NULL, PRIMARY KEY (`id`), CONSTRAINT `indexes_sites_indices` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION);
|
||
|
-- Create index "index_site_id_name_revision" to table: "indexes"
|
||
|
CREATE UNIQUE INDEX `index_site_id_name_revision` ON `indexes` (`site_id`, `name`, `revision`);
|
||
|
-- Create "sites" table
|
||
|
CREATE TABLE `sites` (`id` uuid NOT NULL, `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, `name` text NOT NULL, PRIMARY KEY (`id`));
|
||
|
-- Create index "sites_name_key" to table: "sites"
|
||
|
CREATE UNIQUE INDEX `sites_name_key` ON `sites` (`name`);
|
||
|
-- Create "users" table
|
||
|
CREATE TABLE `users` (`id` uuid NOT NULL, `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, `email` text NOT NULL, `given_name` text NULL, `surname` text NULL, `is_admin` bool NOT NULL DEFAULT (false), `password` blob NOT NULL, PRIMARY KEY (`id`));
|
||
|
-- Create index "users_email_key" to table: "users"
|
||
|
CREATE UNIQUE INDEX `users_email_key` ON `users` (`email`);
|
||
|
-- Create index "user_email" to table: "users"
|
||
|
CREATE INDEX `user_email` ON `users` (`email`);
|
||
|
-- Create "user_staffs" table
|
||
|
CREATE TABLE `user_staffs` (`id` uuid NOT NULL, `create_time` datetime NOT NULL, `update_time` datetime NOT NULL, `site_id` uuid NOT NULL, `user_id` uuid NOT NULL, PRIMARY KEY (`id`), CONSTRAINT `user_staffs_sites_site_members` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION, CONSTRAINT `user_staffs_users_staffs` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE NO ACTION);
|