Replace combined primary keys with ids

This commit is contained in:
Noah Hilverling 2019-07-17 15:21:51 +02:00
parent 39546114ea
commit f6c07111d3
6 changed files with 33 additions and 16 deletions

View file

@ -53,10 +53,11 @@ CREATE TABLE command_envvar (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE command_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + command_id + customvar_id)',
command_id binary(20) NOT NULL COMMENT 'command.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, command_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
/* TODO(el): Default custom variables are missing */

View file

@ -81,11 +81,12 @@ CREATE TABLE hostgroup (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE hostgroup_member (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + host_id + hostgroup_id)',
host_id binary(20) NOT NULL COMMENT 'host.id',
hostgroup_id binary(20) NOT NULL COMMENT 'hostgroup.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (hostgroup_id,host_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE host_customvar (
@ -98,11 +99,12 @@ CREATE TABLE host_customvar (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE hostgroup_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + hostgroup_id + customvar_id)',
hostgroup_id binary(20) NOT NULL COMMENT 'hostgroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, hostgroup_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE host_state (

View file

@ -31,24 +31,27 @@ CREATE TABLE notification (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_user (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + notification_id + user_id)',
notification_id binary(20) NOT NULL COMMENT 'notification.id',
user_id binary(20) NOT NULL COMMENT 'user.id',
env_id binary(20) NOT NULL COMMENT 'environment.id',
PRIMARY KEY (notification_id,user_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_usergroup (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + notification_id + usergroup_id)',
notification_id binary(20) NOT NULL COMMENT 'notification.id',
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
env_id binary(20) NOT NULL COMMENT 'environment.id',
PRIMARY KEY (notification_id, usergroup_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + notification_id + customvar_id)',
notification_id binary(20) NOT NULL COMMENT 'notification.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, notification_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -74,27 +74,30 @@ CREATE TABLE servicegroup (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE servicegroup_member (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + servicegroup_id + service_id)',
service_id binary(20) NOT NULL COMMENT 'service.id',
servicegroup_id binary(20) NOT NULL COMMENT 'servicegroup.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (servicegroup_id,service_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE service_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + service_id + customvar_id)',
service_id binary(20) NOT NULL COMMENT 'service.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, service_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE servicegroup_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + servicegroup_id + customvar_id)',
servicegroup_id binary(20) NOT NULL COMMENT 'servicegroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, servicegroup_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE service_state (

View file

@ -23,34 +23,39 @@ CREATE TABLE timeperiod (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_range (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + range_id + timeperiod_id)',
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
range_key varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
env_id binary(20) NOT NULL COMMENT 'env.id',
range_value varchar(255) NOT NULL,
PRIMARY KEY (timeperiod_id,range_key)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_override_include (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + include_id + timeperiod_id)',
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
override_id binary(20) NOT NULL COMMENT 'timeperiod.id',
env_id binary(20) NOT NULL COMMENT 'env.id',
PRIMARY KEY (timeperiod_id,override_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_override_exclude (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + exclude_id + timeperiod_id)',
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
override_id binary(20) NOT NULL COMMENT 'timeperiod.id',
env_id binary(20) NOT NULL COMMENT 'env.id',
PRIMARY KEY (timeperiod_id,override_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + timeperiod_id + customvar_id)',
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, timeperiod_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -45,23 +45,26 @@ CREATE TABLE usergroup (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE usergroup_member (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + usergroup_id + user_id)',
user_id binary(20) NOT NULL COMMENT 'user.id',
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (user_id,usergroup_id)
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE user_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + user_id + customvar_id)',
user_id binary(20) NOT NULL COMMENT 'user.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, user_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE usergroup_customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + usergroup_id + customvar_id)',
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, usergroup_id)
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;