migration.msql 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. -- Переименование таблиц в нижний регистр
  2. RENAME TABLE Customers TO customers;
  3. RENAME TABLE OU TO ou;
  4. RENAME TABLE User_auth TO user_auth;
  5. RENAME TABLE User_list TO user_list;
  6. RENAME TABLE User_stats TO user_stats;
  7. RENAME TABLE User_stats_full TO user_stats_full;
  8. RENAME TABLE User_auth_alias TO user_auth_alias;
  9. RENAME TABLE Wan_stats TO wan_stats;
  10. RENAME TABLE Traffic_detail TO traffic_detail;
  11. RENAME TABLE Unknown_mac TO unknown_mac;
  12. RENAME TABLE Group_filters TO group_filters;
  13. RENAME TABLE Group_list TO group_list;
  14. RENAME TABLE Filter_list TO filter_list;
  15. RENAME TABLE Queue_list TO queue_list;
  16. -- Изменение типов и имён столбцов
  17. ALTER TABLE wan_stats CHANGE COLUMN `in` bytes_in BIGINT NOT NULL DEFAULT 0;
  18. ALTER TABLE wan_stats CHANGE COLUMN `out` bytes_out BIGINT NOT NULL DEFAULT 0;
  19. ALTER TABLE group_filters CHANGE COLUMN `order` rule_order INTEGER NOT NULL DEFAULT 0;
  20. ALTER TABLE user_auth CHANGE COLUMN `client-id` client_id VARCHAR(250);
  21. ALTER TABLE customers CHANGE COLUMN `Login` login VARCHAR(20) DEFAULT NULL;
  22. -- Переименовываем eof → end_life в user_auth
  23. ALTER TABLE user_auth CHANGE COLUMN `eof` end_life TIMESTAMP NULL DEFAULT NULL;
  24. ALTER TABLE dhcp_log CHANGE COLUMN `client-id` client_id VARCHAR(250);
  25. ALTER TABLE dhcp_log CHANGE COLUMN `circuit-id` circuit_id VARCHAR(255);
  26. ALTER TABLE dhcp_log CHANGE COLUMN `remote-id` remote_id VARCHAR(255);
  27. -- Точки в именах
  28. ALTER TABLE acl CHANGE COLUMN `description.english` description_english VARCHAR(250) NOT NULL;
  29. ALTER TABLE acl CHANGE COLUMN `description.russian` description_russian VARCHAR(250) NOT NULL;
  30. ALTER TABLE config_options CHANGE COLUMN `description.english` description_english TEXT;
  31. ALTER TABLE config_options CHANGE COLUMN `description.russian` description_russian TEXT;
  32. ALTER TABLE device_types CHANGE COLUMN `name.russian` name_russian VARCHAR(50);
  33. ALTER TABLE device_types CHANGE COLUMN `name.english` name_english VARCHAR(50);
  34. -- timestamp → ts
  35. ALTER TABLE dhcp_log CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  36. ALTER TABLE dhcp_queue CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  37. ALTER TABLE dns_cache CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  38. ALTER TABLE mac_history CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  39. ALTER TABLE user_auth CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  40. ALTER TABLE user_stats CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  41. ALTER TABLE user_stats_full CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  42. ALTER TABLE worklog CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  43. ALTER TABLE user_list CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  44. ALTER TABLE traffic_detail CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  45. ALTER TABLE unknown_mac CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  46. ALTER TABLE user_auth_alias CHANGE COLUMN `timestamp` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  47. -- time/date → ts
  48. DELETE FROM wan_stats WHERE `time` <= '1970-01-01 03:00:00' OR `time` = '0000-00-00 00:00:00';
  49. ALTER TABLE wan_stats CHANGE COLUMN `time` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  50. ALTER TABLE remote_syslog CHANGE COLUMN `date` ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
  51. -- Добавляем столбец `comment` во все нужные таблицы (включая customers!)
  52. ALTER TABLE acl ADD COLUMN comment VARCHAR(250);
  53. ALTER TABLE building ADD COLUMN comment VARCHAR(250);
  54. ALTER TABLE customers ADD COLUMN comment VARCHAR(255);
  55. ALTER TABLE devices ADD COLUMN comment VARCHAR(255);
  56. ALTER TABLE filter_instances ADD COLUMN comment VARCHAR(200);
  57. ALTER TABLE filter_list ADD COLUMN comment VARCHAR(250);
  58. ALTER TABLE group_list ADD COLUMN comment VARCHAR(250);
  59. ALTER TABLE ou ADD COLUMN comment VARCHAR(250);
  60. ALTER TABLE subnets ADD COLUMN comment VARCHAR(250);
  61. ALTER TABLE vendors ADD COLUMN comment VARCHAR(255);
  62. -- Теперь безопасно переименовываем `comment` → `description`
  63. ALTER TABLE acl CHANGE COLUMN `comment` description VARCHAR(250);
  64. ALTER TABLE building CHANGE COLUMN `comment` description VARCHAR(250);
  65. ALTER TABLE customers CHANGE COLUMN `comment` description VARCHAR(255);
  66. ALTER TABLE devices CHANGE COLUMN `comment` description VARCHAR(255);
  67. ALTER TABLE filter_instances CHANGE COLUMN `comment` description VARCHAR(200);
  68. ALTER TABLE filter_list CHANGE COLUMN `comment` description VARCHAR(250);
  69. ALTER TABLE group_list CHANGE COLUMN `comment` description VARCHAR(250);
  70. ALTER TABLE ou CHANGE COLUMN `comment` description VARCHAR(250);
  71. ALTER TABLE subnets CHANGE COLUMN `comment` description VARCHAR(250);
  72. ALTER TABLE user_list CHANGE COLUMN `fio` description VARCHAR(255);
  73. ALTER TABLE vendors CHANGE COLUMN `comment` description VARCHAR(255);
  74. -- user_auth.comments → description
  75. ALTER TABLE user_auth CHANGE COLUMN `comments` description VARCHAR(250);
  76. -- Добавляем поле mac_found в user_auth
  77. ALTER TABLE user_auth ADD COLUMN mac_found TIMESTAMP NULL DEFAULT NULL;
  78. UPDATE user_auth SET mac_found = last_found WHERE last_found IS NOT NULL;
  79. -- type → уточнённые имена
  80. ALTER TABLE config_options CHANGE COLUMN `type` option_type VARCHAR(100) NOT NULL;
  81. ALTER TABLE dns_queue CHANGE COLUMN `type` operation_type VARCHAR(10) NOT NULL DEFAULT 'add';
  82. ALTER TABLE filter_list CHANGE COLUMN `type` filter_type SMALLINT NOT NULL DEFAULT 0;
  83. ALTER TABLE auth_rules CHANGE COLUMN `type` rule_type INT(11) NOT NULL;
  84. ALTER TABLE device_l3_interfaces CHANGE COLUMN `type` interface_type INT(11) NOT NULL DEFAULT 0;
  85. -- user_stats - add pkt counters
  86. ALTER TABLE `user_stats` ADD COLUMN `pkt_in` int(11) NOT NULL DEFAULT 0;
  87. ALTER TABLE `user_stats` ADD COLUMN `pkt_out` int(11) NOT NULL DEFAULT 0;
  88. ALTER TABLE `user_stats` ADD COLUMN `step` int(11) NOT NULL DEFAULT 3600;
  89. ALTER TABLE `user_stats_full` MODIFY COLUMN `pkt_in` int(11) NOT NULL DEFAULT 0;
  90. ALTER TABLE `user_stats_full` MODIFY COLUMN `pkt_out` int(11) NOT NULL DEFAULT 0;
  91. -- Set default value for ip to NULL
  92. ALTER TABLE `dhcp_log` MODIFY COLUMN `ip` varchar(15) NULL DEFAULT NULL;
  93. ALTER TABLE `dhcp_queue` MODIFY COLUMN `ip` varchar(15) NULL DEFAULT NULL;
  94. ALTER TABLE `mac_history` MODIFY COLUMN `ip` varchar(16) NULL DEFAULT NULL;
  95. ALTER TABLE `remote_syslog` MODIFY COLUMN `ip` varchar(15) NULL DEFAULT NULL;
  96. ALTER TABLE `user_auth` MODIFY COLUMN `ip` varchar(18) NULL DEFAULT NULL;
  97. -- Add ACL for disable user
  98. INSERT INTO acl (id, name, description_english, description_russian) VALUES (0, 'Disabled', 'User disabled', 'Пользователь отключен');
  99. -- queue_list
  100. ALTER TABLE queue_list CHANGE COLUMN `Download` `download` INT(11) NOT NULL DEFAULT 0;
  101. ALTER TABLE queue_list CHANGE COLUMN `Upload` `upload` INT(11) NOT NULL DEFAULT 0;