add tables.sql
This commit is contained in:
parent
f8023310eb
commit
ecaed0cc79
|
@ -0,0 +1,31 @@
|
||||||
|
version: "3.1"
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
container_name: mrbs-web
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
db:
|
||||||
|
image: mysql:8.0.33
|
||||||
|
container_name: mrbs-db
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: mrbs
|
||||||
|
MYSQL_USER: mrbs
|
||||||
|
MYSQL_PASSWORD: dhFtyr6%3jfifjRL.F987?
|
||||||
|
MYSQL_ROOT_PASSWORD: 3TTEKrPXspMAvHp
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ./tables.my.sql:/docker-entrypoint-initdb.d/010-tables.sql
|
||||||
|
- ./db:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
|
@ -0,0 +1,251 @@
|
||||||
|
#
|
||||||
|
# MySQL MRBS table creation script
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# (1) If you have decided to change the prefix of your tables from 'mrbs_'
|
||||||
|
# to something else using $db_tbl_prefix then you must edit each
|
||||||
|
# 'CREATE TABLE', 'INSERT INTO' and 'REFERENCES' line below to replace
|
||||||
|
# 'mrbs_' with your new table prefix. A global replace of 'mrbs_' is
|
||||||
|
# sufficient.
|
||||||
|
#
|
||||||
|
# (2) If you add new fields then you should also change the global variable
|
||||||
|
# $standard_fields. Note that if you are just adding custom fields for
|
||||||
|
# a single site then this is not necessary.
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_area
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
disabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
area_name varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
sort_key varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
timezone varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
area_admin_email text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
resolution int,
|
||||||
|
default_duration int,
|
||||||
|
default_duration_all_day tinyint DEFAULT 0 NOT NULL,
|
||||||
|
morningstarts int,
|
||||||
|
morningstarts_minutes int,
|
||||||
|
eveningends int,
|
||||||
|
eveningends_minutes int,
|
||||||
|
private_enabled tinyint,
|
||||||
|
private_default tinyint,
|
||||||
|
private_mandatory tinyint,
|
||||||
|
private_override varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
min_create_ahead_enabled tinyint,
|
||||||
|
min_create_ahead_secs int,
|
||||||
|
max_create_ahead_enabled tinyint,
|
||||||
|
max_create_ahead_secs int,
|
||||||
|
min_delete_ahead_enabled tinyint,
|
||||||
|
min_delete_ahead_secs int,
|
||||||
|
max_delete_ahead_enabled tinyint,
|
||||||
|
max_delete_ahead_secs int,
|
||||||
|
max_per_day_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_per_day int DEFAULT 0 NOT NULL,
|
||||||
|
max_per_week_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_per_week int DEFAULT 0 NOT NULL,
|
||||||
|
max_per_month_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_per_month int DEFAULT 0 NOT NULL,
|
||||||
|
max_per_year_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_per_year int DEFAULT 0 NOT NULL,
|
||||||
|
max_per_future_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_per_future int DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_day_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_day int DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_week_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_week int DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_month_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_month int DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_year_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_year int DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_future_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_secs_per_future int DEFAULT 0 NOT NULL,
|
||||||
|
max_duration_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
max_duration_secs int DEFAULT 0 NOT NULL,
|
||||||
|
max_duration_periods int DEFAULT 0 NOT NULL,
|
||||||
|
custom_html text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
approval_enabled tinyint,
|
||||||
|
reminders_enabled tinyint,
|
||||||
|
enable_periods tinyint,
|
||||||
|
periods text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
confirmation_enabled tinyint,
|
||||||
|
confirmed_default tinyint,
|
||||||
|
times_along_top tinyint NOT NULL DEFAULT 0,
|
||||||
|
default_type char DEFAULT 'E' NOT NULL,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uq_area_name (area_name)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_room
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
disabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
area_id int DEFAULT 0 NOT NULL,
|
||||||
|
room_name varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
sort_key varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
description varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
capacity int DEFAULT 0 NOT NULL,
|
||||||
|
room_admin_email text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
invalid_types varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'JSON encoded',
|
||||||
|
custom_html text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
FOREIGN KEY (area_id)
|
||||||
|
REFERENCES mrbs_area(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT,
|
||||||
|
UNIQUE KEY uq_room_name (area_id, room_name),
|
||||||
|
KEY idxSortKey (sort_key)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_repeat
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
start_time int DEFAULT 0 NOT NULL COMMENT 'Unix timestamp',
|
||||||
|
end_time int DEFAULT 0 NOT NULL COMMENT 'Unix timestamp',
|
||||||
|
rep_type int DEFAULT 0 NOT NULL,
|
||||||
|
end_date int DEFAULT 0 NOT NULL COMMENT 'Unix timestamp',
|
||||||
|
rep_opt varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
room_id int DEFAULT 1 NOT NULL,
|
||||||
|
timestamp timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
modified_by varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
name varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
type char DEFAULT 'E' NOT NULL,
|
||||||
|
description text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
rep_interval smallint DEFAULT 1 NOT NULL,
|
||||||
|
month_absolute smallint DEFAULT NULL,
|
||||||
|
month_relative varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
status tinyint unsigned NOT NULL DEFAULT 0,
|
||||||
|
reminded int,
|
||||||
|
info_time int,
|
||||||
|
info_user varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
info_text text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
ical_uid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
ical_sequence smallint DEFAULT 0 NOT NULL,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
FOREIGN KEY (room_id)
|
||||||
|
REFERENCES mrbs_room(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_entry
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
start_time int DEFAULT 0 NOT NULL COMMENT 'Unix timestamp',
|
||||||
|
end_time int DEFAULT 0 NOT NULL COMMENT 'Unix timestamp',
|
||||||
|
entry_type int DEFAULT 0 NOT NULL,
|
||||||
|
repeat_id int DEFAULT NULL,
|
||||||
|
room_id int DEFAULT 1 NOT NULL,
|
||||||
|
timestamp timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
modified_by varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
name varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
type char DEFAULT 'E' NOT NULL,
|
||||||
|
description text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
status tinyint unsigned NOT NULL DEFAULT 0,
|
||||||
|
reminded int,
|
||||||
|
info_time int,
|
||||||
|
info_user varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
info_text text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
ical_uid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
ical_sequence smallint DEFAULT 0 NOT NULL,
|
||||||
|
ical_recur_id varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
allow_registration tinyint DEFAULT 0 NOT NULL,
|
||||||
|
registrant_limit int DEFAULT 0 NOT NULL,
|
||||||
|
registrant_limit_enabled tinyint DEFAULT 1 NOT NULL,
|
||||||
|
registration_opens int DEFAULT 1209600 NOT NULL COMMENT 'Seconds before the start time', -- 2 weeks
|
||||||
|
registration_opens_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
registration_closes int DEFAULT 0 NOT NULL COMMENT 'Seconds before the start_time',
|
||||||
|
registration_closes_enabled tinyint DEFAULT 0 NOT NULL,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
FOREIGN KEY (room_id)
|
||||||
|
REFERENCES mrbs_room(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT,
|
||||||
|
FOREIGN KEY (repeat_id)
|
||||||
|
REFERENCES mrbs_repeat(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
KEY idxStartTime (start_time),
|
||||||
|
KEY idxEndTime (end_time),
|
||||||
|
KEY idxRoomStartEnd (room_id, start_time, end_time)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_participants
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
entry_id int NOT NULL,
|
||||||
|
username varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
create_by varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
registered int,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uq_entryid_username (entry_id, username),
|
||||||
|
FOREIGN KEY (entry_id)
|
||||||
|
REFERENCES mrbs_entry(id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_variables
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
variable_name varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
variable_content text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uq_variable_name (variable_name)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_zoneinfo
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
timezone varchar(127) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL,
|
||||||
|
outlook_compatible tinyint unsigned NOT NULL DEFAULT 0,
|
||||||
|
vtimezone text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
last_updated int NOT NULL DEFAULT 0,
|
||||||
|
|
||||||
|
/* Note that there is a limit on the length of keys which imposes a constraint
|
||||||
|
on the size of VARCHAR that can be keyed */
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uq_timezone (timezone, outlook_compatible)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_sessions
|
||||||
|
(
|
||||||
|
id varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||||
|
access int unsigned DEFAULT NULL COMMENT 'Unix timestamp',
|
||||||
|
data text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
|
||||||
|
/* Note that there is a limit on the length of keys which imposes a constraint
|
||||||
|
on the size of VARCHAR that can be keyed */
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
KEY idxAccess (access)
|
||||||
|
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
CREATE TABLE mrbs_users
|
||||||
|
(
|
||||||
|
id int NOT NULL auto_increment,
|
||||||
|
level smallint DEFAULT 0 NOT NULL, /* play safe and give no rights */
|
||||||
|
name varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
display_name varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
password_hash varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
email varchar(75) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
|
||||||
|
timestamp timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
last_login int DEFAULT '0' NOT NULL,
|
||||||
|
reset_key_hash varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||||
|
reset_key_expiry int DEFAULT 0 NOT NULL,
|
||||||
|
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uq_name (name)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
INSERT INTO mrbs_variables (variable_name, variable_content)
|
||||||
|
VALUES ( 'db_version', '82');
|
||||||
|
INSERT INTO mrbs_variables (variable_name, variable_content)
|
||||||
|
VALUES ( 'local_db_version', '1');
|
Loading…
Reference in New Issue