]> granicus.if.org Git - icinga2/commitdiff
Fix IDO MySQL schema for MySQL >= 5.7
authorMarkus Frosch <markus.frosch@icinga.com>
Fri, 16 Dec 2016 10:33:06 +0000 (11:33 +0100)
committerMichael Friedrich <michael.friedrich@netways.de>
Wed, 11 Jan 2017 16:37:17 +0000 (17:37 +0100)
NOTE: A schema update doesn't seem to be needed, MySQL is updating
internally.

The problem comes up on fresh schema imports on MySQL 5.7.

fixes #13633

lib/db_ido_mysql/schema/mysql.sql

index db87a78cef1c9c48e4fbb04401d791fc866e6197..2f70f51d5403a3cfd48c486cd444605114ba9035 100644 (file)
@@ -30,7 +30,7 @@ CREATE TABLE IF NOT EXISTS icinga_acknowledgements (
   object_id bigint unsigned default 0,
   state smallint default 0,
   author_name varchar(64) character set latin1  default '',
-  comment_data TEXT character set latin1  default '',
+  comment_data TEXT character set latin1,
   is_sticky smallint default 0,
   persistent_comment smallint default 0,
   notify_contacts smallint default 0,
@@ -49,7 +49,7 @@ CREATE TABLE IF NOT EXISTS icinga_commands (
   instance_id bigint unsigned default 0,
   config_type smallint default 0,
   object_id bigint unsigned default 0,
-  command_line TEXT character set latin1  default '',
+  command_line TEXT character set latin1,
   config_hash varchar(64) DEFAULT NULL,
   PRIMARY KEY  (command_id),
   UNIQUE KEY instance_id (instance_id,object_id,config_type)
@@ -72,7 +72,7 @@ CREATE TABLE IF NOT EXISTS icinga_commenthistory (
   comment_time timestamp NULL DEFAULT NULL,
   internal_comment_id bigint unsigned default 0,
   author_name varchar(64) character set latin1  default '',
-  comment_data TEXT character set latin1  default '',
+  comment_data TEXT character set latin1,
   is_persistent smallint default 0,
   comment_source smallint default 0,
   expires smallint default 0,
@@ -101,7 +101,7 @@ CREATE TABLE IF NOT EXISTS icinga_comments (
   comment_time timestamp NULL DEFAULT NULL,
   internal_comment_id bigint unsigned default 0,
   author_name varchar(64) character set latin1  default '',
-  comment_data TEXT character set latin1  default '',
+  comment_data TEXT character set latin1,
   is_persistent smallint default 0,
   comment_source smallint default 0,
   expires smallint default 0,
@@ -138,7 +138,7 @@ CREATE TABLE IF NOT EXISTS icinga_configfilevariables (
   instance_id bigint unsigned default 0,
   configfile_id bigint unsigned default 0,
   varname varchar(64) character set latin1  default '',
-  varvalue TEXT character set latin1  default '',
+  varvalue TEXT character set latin1,
   PRIMARY KEY  (configfilevariable_id)
 ) ENGINE=InnoDB  COMMENT='Configuration file variables';
 
@@ -213,7 +213,7 @@ CREATE TABLE IF NOT EXISTS icinga_contactnotificationmethods (
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
   command_object_id bigint unsigned default 0,
-  command_args TEXT character set latin1  default '',
+  command_args TEXT character set latin1,
   PRIMARY KEY  (contactnotificationmethod_id),
   UNIQUE KEY instance_id (instance_id,contactnotification_id,start_time,start_time_usec)
 ) ENGINE=InnoDB  COMMENT='Historical record of contact notification methods';
@@ -340,7 +340,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariables (
   config_type smallint default 0,
   has_been_modified smallint default 0,
   varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
-  varvalue TEXT character set latin1  default '',
+  varvalue TEXT character set latin1,
   is_json smallint default 0,
   PRIMARY KEY  (customvariable_id),
   UNIQUE KEY object_id_2 (object_id,config_type,varname),
@@ -360,7 +360,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariablestatus (
   status_update_time timestamp NULL DEFAULT NULL,
   has_been_modified smallint default 0,
   varname varchar(255) character set latin1 collate latin1_general_cs default NULL,
-  varvalue TEXT character set latin1  default '',
+  varvalue TEXT character set latin1,
   is_json smallint default 0,
   PRIMARY KEY  (customvariablestatus_id),
   UNIQUE KEY object_id_2 (object_id,varname),
@@ -396,7 +396,7 @@ CREATE TABLE IF NOT EXISTS icinga_downtimehistory (
   object_id bigint unsigned default 0,
   entry_time timestamp NULL DEFAULT NULL,
   author_name varchar(64) character set latin1  default '',
-  comment_data TEXT character set latin1  default '',
+  comment_data TEXT character set latin1,
   internal_downtime_id bigint unsigned default 0,
   triggered_by_id bigint unsigned default 0,
   is_fixed smallint default 0,
@@ -434,14 +434,14 @@ CREATE TABLE IF NOT EXISTS icinga_eventhandlers (
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
   command_object_id bigint unsigned default 0,
-  command_args TEXT character set latin1  default '',
-  command_line TEXT character set latin1  default '',
+  command_args TEXT character set latin1,
+  command_line TEXT character set latin1,
   timeout smallint default 0,
   early_timeout smallint default 0,
   execution_time double  default '0',
   return_code smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
   PRIMARY KEY  (eventhandler_id),
   UNIQUE KEY instance_id (instance_id,object_id,start_time,start_time_usec)
 ) ENGINE=InnoDB COMMENT='Historical host and service event handlers';
@@ -458,7 +458,7 @@ CREATE TABLE IF NOT EXISTS icinga_externalcommands (
   entry_time timestamp NULL DEFAULT NULL,
   command_type smallint default 0,
   command_name varchar(128) character set latin1  default '',
-  command_args TEXT character set latin1  default '',
+  command_args TEXT character set latin1,
   PRIMARY KEY  (externalcommand_id)
 ) ENGINE=InnoDB  COMMENT='Historical record of processed external commands';
 
@@ -506,16 +506,16 @@ CREATE TABLE IF NOT EXISTS icinga_hostchecks (
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
   command_object_id bigint unsigned default 0,
-  command_args TEXT character set latin1  default '',
-  command_line TEXT character set latin1  default '',
+  command_args TEXT character set latin1,
+  command_line TEXT character set latin1,
   timeout smallint default 0,
   early_timeout smallint default 0,
   execution_time double  default '0',
   latency double  default '0',
   return_code smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
-  perfdata TEXT character set latin1  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
+  perfdata TEXT character set latin1,
   PRIMARY KEY  (hostcheck_id)
 ) ENGINE=InnoDB  COMMENT='Historical host checks';
 
@@ -643,9 +643,9 @@ CREATE TABLE IF NOT EXISTS icinga_hosts (
   address varchar(128) character set latin1  default '',
   address6 varchar(128) character set latin1  default '',
   check_command_object_id bigint unsigned default 0,
-  check_command_args TEXT character set latin1  default '',
+  check_command_args TEXT character set latin1,
   eventhandler_command_object_id bigint unsigned default 0,
-  eventhandler_command_args TEXT character set latin1  default '',
+  eventhandler_command_args TEXT character set latin1,
   notification_timeperiod_object_id bigint unsigned default 0,
   check_timeperiod_object_id bigint unsigned default 0,
   failure_prediction_options varchar(128) character set latin1  default '',
@@ -679,13 +679,13 @@ CREATE TABLE IF NOT EXISTS icinga_hosts (
   notifications_enabled smallint default 0,
   obsess_over_host smallint default 0,
   failure_prediction_enabled smallint default 0,
-  notes TEXT character set latin1  default '',
-  notes_url TEXT character set latin1  default '',
-  action_url TEXT character set latin1  default '',
-  icon_image TEXT character set latin1  default '',
-  icon_image_alt TEXT character set latin1  default '',
-  vrml_image TEXT character set latin1  default '',
-  statusmap_image TEXT character set latin1  default '',
+  notes TEXT character set latin1,
+  notes_url TEXT character set latin1,
+  action_url TEXT character set latin1,
+  icon_image TEXT character set latin1,
+  icon_image_alt TEXT character set latin1,
+  vrml_image TEXT character set latin1,
+  statusmap_image TEXT character set latin1,
   have_2d_coords smallint default 0,
   x_2d smallint default 0,
   y_2d smallint default 0,
@@ -710,9 +710,9 @@ CREATE TABLE IF NOT EXISTS icinga_hoststatus (
   instance_id bigint unsigned default 0,
   host_object_id bigint unsigned default 0,
   status_update_time timestamp NULL DEFAULT NULL,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
-  perfdata TEXT character set latin1  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
+  perfdata TEXT character set latin1,
   check_source varchar(255) character set latin1  default '',
   current_state smallint default 0,
   has_been_checked smallint default 0,
@@ -750,8 +750,8 @@ CREATE TABLE IF NOT EXISTS icinga_hoststatus (
   obsess_over_host smallint default 0,
   modified_host_attributes  int default 0,
   original_attributes TEXT character set latin1  default NULL,
-  event_handler TEXT character set latin1  default '',
-  check_command TEXT character set latin1  default '',
+  event_handler TEXT character set latin1,
+  check_command TEXT character set latin1,
   normal_check_interval double  default '0',
   retry_check_interval double  default '0',
   check_timeperiod_object_id bigint unsigned default 0,
@@ -828,7 +828,7 @@ CREATE TABLE IF NOT EXISTS icinga_logentries (
   entry_time timestamp NULL DEFAULT NULL,
   entry_time_usec  int default 0,
   logentry_type  int default 0,
-  logentry_data TEXT character set latin1  default '',
+  logentry_data TEXT character set latin1,
   realtime_data smallint default 0,
   inferred_data_extracted smallint default 0,
   object_id bigint unsigned default NULL,
@@ -852,8 +852,8 @@ CREATE TABLE IF NOT EXISTS icinga_notifications (
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
   state smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
   escalated smallint default 0,
   contacts_notified smallint default 0,
   PRIMARY KEY  (notification_id),
@@ -929,8 +929,8 @@ CREATE TABLE IF NOT EXISTS icinga_programstatus (
   obsess_over_services smallint default 0,
   modified_host_attributes  int default 0,
   modified_service_attributes  int default 0,
-  global_host_event_handler TEXT character set latin1  default '',
-  global_service_event_handler TEXT character set latin1  default '',
+  global_host_event_handler TEXT character set latin1,
+  global_service_event_handler TEXT character set latin1,
   config_dump_in_progress smallint default 0,
   PRIMARY KEY  (programstatus_id),
   UNIQUE KEY instance_id (instance_id)
@@ -946,7 +946,7 @@ CREATE TABLE IF NOT EXISTS icinga_runtimevariables (
   runtimevariable_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
   instance_id bigint unsigned default 0,
   varname varchar(64) character set latin1  default '',
-  varvalue TEXT character set latin1  default '',
+  varvalue TEXT character set latin1,
   PRIMARY KEY  (runtimevariable_id)
 ) ENGINE=InnoDB  COMMENT='Runtime variables from the Icinga daemon';
 
@@ -963,7 +963,7 @@ CREATE TABLE IF NOT EXISTS icinga_scheduleddowntime (
   object_id bigint unsigned default 0,
   entry_time timestamp NULL DEFAULT NULL,
   author_name varchar(64) character set latin1  default '',
-  comment_data TEXT character set latin1  default '',
+  comment_data TEXT character set latin1,
   internal_downtime_id bigint unsigned default 0,
   triggered_by_id bigint unsigned default 0,
   is_fixed smallint default 0,
@@ -1001,16 +1001,16 @@ CREATE TABLE IF NOT EXISTS icinga_servicechecks (
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
   command_object_id bigint unsigned default 0,
-  command_args TEXT character set latin1  default '',
-  command_line TEXT character set latin1  default '',
+  command_args TEXT character set latin1,
+  command_line TEXT character set latin1,
   timeout smallint default 0,
   early_timeout smallint default 0,
   execution_time double  default '0',
   latency double  default '0',
   return_code smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
-  perfdata TEXT character set latin1  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
+  perfdata TEXT character set latin1,
   PRIMARY KEY  (servicecheck_id)
 ) ENGINE=InnoDB  COMMENT='Historical service checks';
 
@@ -1138,9 +1138,9 @@ CREATE TABLE IF NOT EXISTS icinga_services (
   service_object_id bigint unsigned default 0,
   display_name varchar(255) character set latin1 collate latin1_general_cs  default '',
   check_command_object_id bigint unsigned default 0,
-  check_command_args TEXT character set latin1  default '',
+  check_command_args TEXT character set latin1,
   eventhandler_command_object_id bigint unsigned default 0,
-  eventhandler_command_args TEXT character set latin1  default '',
+  eventhandler_command_args TEXT character set latin1,
   notification_timeperiod_object_id bigint unsigned default 0,
   check_timeperiod_object_id bigint unsigned default 0,
   failure_prediction_options varchar(64) character set latin1  default '',
@@ -1178,11 +1178,11 @@ CREATE TABLE IF NOT EXISTS icinga_services (
   notifications_enabled smallint default 0,
   obsess_over_service smallint default 0,
   failure_prediction_enabled smallint default 0,
-  notes TEXT character set latin1  default '',
-  notes_url TEXT character set latin1  default '',
-  action_url TEXT character set latin1  default '',
-  icon_image TEXT character set latin1  default '',
-  icon_image_alt TEXT character set latin1  default '',
+  notes TEXT character set latin1,
+  notes_url TEXT character set latin1,
+  action_url TEXT character set latin1,
+  icon_image TEXT character set latin1,
+  icon_image_alt TEXT character set latin1,
   config_hash varchar(64) DEFAULT NULL,
   PRIMARY KEY  (service_id),
   UNIQUE KEY instance_id (instance_id,config_type,service_object_id),
@@ -1200,9 +1200,9 @@ CREATE TABLE IF NOT EXISTS icinga_servicestatus (
   instance_id bigint unsigned default 0,
   service_object_id bigint unsigned default 0,
   status_update_time timestamp NULL DEFAULT NULL,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
-  perfdata TEXT character set latin1  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
+  perfdata TEXT character set latin1,
   check_source varchar(255) character set latin1  default '',
   current_state smallint default 0,
   has_been_checked smallint default 0,
@@ -1241,8 +1241,8 @@ CREATE TABLE IF NOT EXISTS icinga_servicestatus (
   obsess_over_service smallint default 0,
   modified_service_attributes  int default 0,
   original_attributes TEXT character set latin1  default NULL,
-  event_handler TEXT character set latin1  default '',
-  check_command TEXT character set latin1  default '',
+  event_handler TEXT character set latin1,
+  check_command TEXT character set latin1,
   normal_check_interval double  default '0',
   retry_check_interval double  default '0',
   check_timeperiod_object_id bigint unsigned default 0,
@@ -1298,8 +1298,8 @@ CREATE TABLE IF NOT EXISTS icinga_statehistory (
   max_check_attempts smallint default 0,
   last_state smallint default 0,
   last_hard_state smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
   check_source varchar(255) character set latin1 default NULL,
   PRIMARY KEY  (statehistory_id)
 ) ENGINE=InnoDB COMMENT='Historical host and service state changes';
@@ -1317,13 +1317,13 @@ CREATE TABLE IF NOT EXISTS icinga_systemcommands (
   start_time_usec  int default 0,
   end_time timestamp NULL DEFAULT NULL,
   end_time_usec  int default 0,
-  command_line TEXT character set latin1  default '',
+  command_line TEXT character set latin1,
   timeout smallint default 0,
   early_timeout smallint default 0,
   execution_time double  default '0',
   return_code smallint default 0,
-  output TEXT character set latin1  default '',
-  long_output TEXT  default '',
+  output TEXT character set latin1,
+  long_output TEXT,
   PRIMARY KEY  (systemcommand_id),
   UNIQUE KEY instance_id (instance_id,start_time,start_time_usec)
 ) ENGINE=InnoDB  COMMENT='Historical system commands that are executed';