Advertisement
zotov-vs

Untitled

Dec 12th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.96 KB | None | 0 0
  1.  
  2.  
  3. INSERT IGNORE INTO entities_groups (`entities_groups_title`, `entities_groups_description`) VALUES ('Статусы', 'Статусы');
  4. SELECT @entities_groups_id := eg.entities_groups_id FROM entities_groups AS eg WHERE entities_groups_title = 'Статусы';
  5.  
  6. INSERT IGNORE INTO entities (`entities_groups_id`, `entities_title`, `entities_name`, `entities_description`) VALUES (@entities_groups_id, 'Статусы', 'statuses', 'Таблицы со статусами разных сущностей');
  7.  
  8.  
  9. SELECT @entities_id := e.entities_id FROM entities AS e WHERE e.entities_name = 'statuses';
  10.  
  11. INSERT IGNORE INTO entities_types (`entities_id`, `entities_types_title`, `entities_types_name`) VALUES (@entities_id, 'Универсальные статусы', 'statuses');
  12. INSERT IGNORE INTO entities_types (`entities_id`, `entities_types_title`, `entities_types_name`) VALUES (@entities_id, 'Статусы акций', 'categories_status');
  13. INSERT IGNORE INTO entities_types (`entities_id`, `entities_types_title`, `entities_types_name`) VALUES (@entities_id, 'Статусы пользователей', 'customers_status');
  14. INSERT IGNORE INTO entities_types (`entities_id`, `entities_types_title`, `entities_types_name`) VALUES (@entities_id, 'Статусы заказов', 'orders_status');
  15.  
  16.  
  17. CREATE TABLE IF NOT EXISTS `statuses_groups_sets` (
  18.     `statuses_groups_sets_id` INT(11) NOT NULL AUTO_INCREMENT,
  19.     `statuses_groups_sets_name` VARCHAR(100) NOT NULL,
  20.     `statuses_groups_sets_title` VARCHAR(250) NOT NULL,
  21.     PRIMARY KEY (`statuses_groups_sets_id`),
  22.     UNIQUE INDEX `statuses_groups_sets_name` (`statuses_groups_sets_name`)
  23. )
  24. COMMENT='Произвольные наборы групп статусов для объединения групп'
  25. COLLATE='utf8_general_ci'
  26. ENGINE=InnoDB
  27. ;
  28.  
  29. CREATE TABLE IF NOT EXISTS `statuses_groups` (
  30.     `statuses_groups_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  31.     `entities_types_id` INT(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Таблица статусов',
  32.     `statuses_groups_name` VARCHAR(100) NOT NULL DEFAULT '',
  33.     `statuses_groups_title` VARCHAR(100) NOT NULL DEFAULT '',
  34.     `statuses_groups_sets_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Набор групп статусов',
  35.     PRIMARY KEY (`statuses_groups_id`),
  36.     UNIQUE INDEX `statuses_groups_name` (`statuses_groups_name`)
  37. )
  38. COMMENT='Произвольные группы статусов, которые используются в statuses_to_statuses_groups'
  39. COLLATE='utf8_general_ci'
  40. ENGINE=InnoDB
  41. ;
  42.  
  43.  
  44. CREATE TABLE IF NOT EXISTS  `statuses_to_statuses_groups` (
  45.     `statuses_to_statuses_groups_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  46.     `statuses_groups_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
  47.     `statuses_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
  48.     PRIMARY KEY (`statuses_to_statuses_groups_id`),
  49.     UNIQUE INDEX `statuses_groups_id_statuses_id` (`statuses_groups_id`, `statuses_id`),
  50.     INDEX `statuses_groups_id` (`statuses_groups_id`)
  51. )
  52. COMMENT='Содержимое произвольной группы статусов'
  53. COLLATE='utf8_general_ci'
  54. ENGINE=InnoDB
  55. ;
  56.  
  57.  
  58. SELECT @entities_types_id := et.entities_types_id FROM entities_types AS et WHERE et.entities_types_name = 'statuses';
  59.  
  60. INSERT IGNORE INTO statuses_groups (`entities_types_id`, `statuses_groups_name`, `statuses_groups_title`) VALUES (@entities_types_id, 'suppliers_statuses_all', 'Все статусы поставщика');
  61. INSERT IGNORE INTO statuses_groups (`entities_types_id`, `statuses_groups_name`, `statuses_groups_title`) VALUES (@entities_types_id, 'suppliers_contracts_statuses_all', 'Все статусы договоров поставщика');
  62.  
  63. INSERT IGNORE INTO statuses_groups (`entities_types_id`, `statuses_groups_name`, `statuses_groups_title`) VALUES (@entities_types_id, 'digital_documents_update_gtd', 'Статусы документа ЭДО в которых обновляем ГТД');
  64. INSERT IGNORE INTO statuses_groups (`entities_types_id`, `statuses_groups_name`, `statuses_groups_title`) VALUES (@entities_types_id, 'digital_documents_update_price', 'Статусы документа ЭДО в которых обновляем цены, НДС');
  65. INSERT IGNORE INTO statuses_groups (`entities_types_id`, `statuses_groups_name`, `statuses_groups_title`) VALUES (@entities_types_id, 'digital_documents_recalculate', 'Статусы документа ЭДО в которых пересчитываем недостачи');
  66.  
  67. INSERT IGNORE INTO statuses_to_statuses_groups (`statuses_groups_id`, `statuses_id`)
  68. SELECT DISTINCT
  69.     sg.statuses_groups_id
  70.     , s.suppliers_status
  71. FROM suppliers AS s
  72.     JOIN statuses_groups AS sg ON sg.statuses_groups_name = 'suppliers_statuses_all';
  73.  
  74.  
  75. INSERT IGNORE INTO statuses_to_statuses_groups (`statuses_groups_id`, `statuses_id`)
  76. SELECT DISTINCT
  77.     sg.statuses_groups_id
  78.     , s.suppliers_contracts_status
  79. FROM suppliers_contracts AS s
  80.     JOIN statuses_groups AS sg ON sg.statuses_groups_name = 'suppliers_contracts_statuses_all';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement