151 lines
3.5 KiB
SQL
Executable File
151 lines
3.5 KiB
SQL
Executable File
#Ce fichier contient la base de données à créer
|
|
|
|
CREATE DATABASE IF NOT EXISTS raspisms;
|
|
USE raspisms;
|
|
|
|
CREATE TABLE IF NOT EXISTS settings
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
name VARCHAR(20) NOT NULL,
|
|
value VARCHAR(1000) NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS receiveds
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
at DATETIME NOT NULL,
|
|
send_by VARCHAR(12) NOT NULL,
|
|
content VARCHAR(1000) NOT NULL,
|
|
is_command BOOLEAN NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS sendeds
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
at DATETIME NOT NULL,
|
|
target VARCHAR(12) NOT NULL,
|
|
content VARCHAR(1000) NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS scheduleds
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
at DATETIME NOT NULL,
|
|
content VARCHAR(1000) NOT NULL,
|
|
progress BOOLEAN NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS contacts
|
|
(
|
|
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
name VARCHAR(100) NOT NULL,
|
|
number VARCHAR(12) NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE (name)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS groups
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
name VARCHAR(100) NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE (name)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS groups_contacts
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
id_group INT NOT NULL,
|
|
id_contact INT NOT NULL,
|
|
PRIMARY KEY (id),
|
|
FOREIGN KEY (id_group) REFERENCES groups (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
FOREIGN KEY (id_contact) REFERENCES contacts (id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS scheduleds_contacts
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
id_scheduled INT NOT NULL,
|
|
id_contact INT NOT NULL,
|
|
PRIMARY KEY (id),
|
|
FOREIGN KEY (id_scheduled) REFERENCES scheduleds (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
FOREIGN KEY (id_contact) REFERENCES contacts (id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS scheduleds_groups
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
id_scheduled INT NOT NULL,
|
|
id_group INT NOT NULL,
|
|
PRIMARY KEY (id),
|
|
FOREIGN KEY (id_scheduled) REFERENCES scheduleds (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
FOREIGN KEY (id_group) REFERENCES groups (id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS scheduleds_numbers
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
id_scheduled INT NOT NULL,
|
|
number VARCHAR(12) NOT NULL,
|
|
PRIMARY KEY (id),
|
|
FOREIGN KEY (id_scheduled) REFERENCES scheduleds (id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS commands
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
name VARCHAR(25) NOT NULL,
|
|
script VARCHAR(100) NOT NULL,
|
|
admin BOOLEAN NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE (name)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS events
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
type VARCHAR(25) NOT NULL,
|
|
at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
text VARCHAR(255) NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS users
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
email VARCHAR(255) NOT NULL,
|
|
password VARCHAR(255) NOT NULL,
|
|
admin BOOLEAN NOT NULL DEFAULT FALSE,
|
|
transfer BOOLEAN NOT NULL DEFAULT FALSE,
|
|
PRIMARY KEY (id),
|
|
UNIQUE (email)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS transfers
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
id_received INT NOT NULL,
|
|
progress BOOLEAN NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (id),
|
|
FOREIGN KEY (id_received) REFERENCES receiveds (id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS sms_stop
|
|
(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
number VARCHAR(12) NOT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE (number)
|
|
);
|
|
|
|
#On insert les données par défaut dans les settings
|
|
INSERT INTO settings (name, value)
|
|
VALUES ('transfer', '1'),
|
|
('sms_stop', '1'),
|
|
('detect_url', '1');
|