Files
wisemapping-open-source/wise-api/src/main/resources/schema-mysql.sql

117 lines
4.1 KiB
MySQL
Raw Normal View History

2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS COLLABORATOR (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
email VARCHAR(255) CHARACTER SET UTF8MB4 NOT NULL UNIQUE,
2024-02-16 22:49:33 -08:00
creation_date DATE
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS USER (
2024-02-16 22:49:33 -08:00
colaborator_id INTEGER NOT NULL PRIMARY KEY,
authentication_type CHAR(1)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4 NOT NULL,
2024-02-16 22:49:33 -08:00
authenticator_uri VARCHAR(255)
CHARACTER SET utf8,
2024-02-17 00:14:09 -08:00
firstname VARCHAR(255) CHARACTER SET UTF8MB4 NOT NULL,
lastname VARCHAR(255) CHARACTER SET UTF8MB4 NOT NULL,
password VARCHAR(255) CHARACTER SET UTF8MB4 NOT NULL,
2024-02-16 22:49:33 -08:00
activation_code BIGINT(20) NOT NULL,
activation_date DATE,
2024-02-17 00:14:09 -08:00
allow_send_email CHAR(1) CHARACTER SET UTF8MB4 NOT NULL DEFAULT 0,
2024-02-16 22:49:33 -08:00
locale VARCHAR(5),
google_sync BOOL,
sync_code VARCHAR(255),
google_token VARCHAR(255),
FOREIGN KEY (colaborator_id) REFERENCES COLLABORATOR (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
2024-02-17 00:14:09 -08:00
) CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS MINDMAP (
2024-02-16 22:49:33 -08:00
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4 NOT NULL,
2024-02-16 22:49:33 -08:00
description VARCHAR(255)
2024-02-17 00:14:09 -08:00
CHARACTER SET utf8,
2024-02-16 22:49:33 -08:00
xml MEDIUMBLOB NOT NULL,
public BOOL NOT NULL DEFAULT 0,
creation_date DATETIME,
edition_date DATETIME,
creator_id INTEGER NOT NULL,
last_editor_id INTEGER NOT NULL,
FOREIGN KEY (creator_id) REFERENCES USER (colaborator_id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS LABEL (
2024-02-16 22:49:33 -08:00
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(30)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4 NOT NULL,
2024-02-16 22:49:33 -08:00
creator_id INTEGER NOT NULL,
parent_label_id INTEGER,
color VARCHAR(7) NOT NULL,
FOREIGN KEY (creator_id) REFERENCES USER (colaborator_id),
FOREIGN KEY (parent_label_id) REFERENCES LABEL (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS R_LABEL_MINDMAP (
2024-02-16 22:49:33 -08:00
mindmap_id INTEGER NOT NULL,
label_id INTEGER NOT NULL,
PRIMARY KEY (mindmap_id, label_id),
FOREIGN KEY (mindmap_id) REFERENCES MINDMAP (id),
FOREIGN KEY (label_id) REFERENCES LABEL (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS MINDMAP_HISTORY
2024-02-16 22:49:33 -08:00
(id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
xml MEDIUMBLOB NOT NULL,
mindmap_id INTEGER NOT NULL,
creation_date DATETIME,
editor_id INTEGER NOT NULL,
FOREIGN KEY (mindmap_id) REFERENCES MINDMAP (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS COLLABORATION_PROPERTIES (
2024-02-16 22:49:33 -08:00
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
starred BOOL NOT NULL DEFAULT 0,
mindmap_properties VARCHAR(512)
CHARACTER SET utf8
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS COLLABORATION (
2024-02-16 22:49:33 -08:00
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
colaborator_id INTEGER NOT NULL,
properties_id INTEGER NOT NULL,
mindmap_id INTEGER NOT NULL,
role_id INTEGER NOT NULL,
UNIQUE KEY UC_ROLE (mindmap_id,colaborator_id),
FOREIGN KEY (colaborator_id) REFERENCES COLLABORATOR (id),
FOREIGN KEY (mindmap_id) REFERENCES MINDMAP (id)
ON DELETE CASCADE
ON UPDATE NO ACTION,
FOREIGN KEY (properties_id) REFERENCES COLLABORATION_PROPERTIES (id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;
2024-02-16 22:49:33 -08:00
2024-02-17 00:14:09 -08:00
CREATE TABLE IF NOT EXISTS ACCESS_AUDITORY (
2024-02-16 22:49:33 -08:00
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
login_date DATE,
user_id INTEGER NOT NULL,
FOREIGN KEY (user_id) REFERENCES USER (colaborator_id)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
2024-02-17 00:14:09 -08:00
CHARACTER SET UTF8MB4;