177 lines
4.0 KiB
MySQL
177 lines
4.0 KiB
MySQL
|
#Ce fichier contient la base de données à créer
|
||
|
|
||
|
CREATE DATABASE IF NOT EXISTS raspisms;
|
||
|
USE raspisms;
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS setting
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
name VARCHAR(50) NOT NULL,
|
||
|
value VARCHAR(1000) NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
UNIQUE (name)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS scheduled
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
at DATETIME NOT NULL,
|
||
|
text VARCHAR(1000) NOT NULL,
|
||
|
flash BOOLEAN NOT NULL DEFAULT 0,
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS received
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
at DATETIME NOT NULL,
|
||
|
text VARCHAR(1000) NOT NULL,
|
||
|
origin VARCHAR(20) NOT NULL,
|
||
|
destination VARCHAR(20),
|
||
|
command BOOLEAN NOT NULL DEFAULT 0,
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS sent
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
at DATETIME NOT NULL,
|
||
|
text VARCHAR(1000) NOT NULL,
|
||
|
origin VARCHAR(20) NOT NULL,
|
||
|
destination VARCHAR(20),
|
||
|
flash BOOLEAN NOT NULL DEFAULT 0,
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS contact
|
||
|
(
|
||
|
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
name VARCHAR(100) NOT NULL,
|
||
|
number VARCHAR(20) NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
UNIQUE (name)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS groupe
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
name VARCHAR(100) NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
UNIQUE (name)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS groupe_contact
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
id_groupe INT NOT NULL,
|
||
|
id_contact INT NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
FOREIGN KEY (id_groupe) REFERENCES groupe (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||
|
FOREIGN KEY (id_contact) REFERENCES contact (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS scheduled_contact
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
id_scheduled INT NOT NULL,
|
||
|
id_contact INT NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
FOREIGN KEY (id_scheduled) REFERENCES scheduled (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||
|
FOREIGN KEY (id_contact) REFERENCES contact (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS scheduled_groupe
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
id_scheduled INT NOT NULL,
|
||
|
id_groupe INT NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
FOREIGN KEY (id_scheduled) REFERENCES scheduled (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||
|
FOREIGN KEY (id_groupe) REFERENCES groupe (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS scheduled_number
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
id_scheduled INT NOT NULL,
|
||
|
number VARCHAR(20) NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
FOREIGN KEY (id_scheduled) REFERENCES scheduled (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS command
|
||
|
(
|
||
|
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 event
|
||
|
(
|
||
|
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 user
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
email VARCHAR(150) 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 transfer
|
||
|
(
|
||
|
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 received (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS smsstop
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
number VARCHAR(20) NOT NULL,
|
||
|
PRIMARY KEY (id),
|
||
|
UNIQUE (number)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS webhook
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
url VARCHAR(250) NOT NULL,
|
||
|
type INT NOT NULL,
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS webhook_querie
|
||
|
(
|
||
|
id INT NOT NULL AUTO_INCREMENT,
|
||
|
url VARCHAR(250) NOT NULL,
|
||
|
datas VARCHAR(10000) NOT NULL,
|
||
|
progress BOOLEAN NOT NULL DEFAULT FALSE,
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
#On insert les données par défaut dans les settings
|
||
|
INSERT INTO setting (name, value)
|
||
|
VALUES ('transfer', '1'),
|
||
|
('smsstops', '1'),
|
||
|
('detect_url', '1'),
|
||
|
('default_phone_country', 'fr'),
|
||
|
('preferred_phone_country', 'fr,be,ca'),
|
||
|
('sms_flash', '0'),
|
||
|
('sms_reception_sound', '1');
|