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