Отключить украшение кода при создании нового представления в MySQL Workbench - PullRequest
0 голосов
/ 12 октября 2018

При создании нового представления в базе данных через MySQL Workbench код автоматически улучшается и оптимизируется в соответствии с некоторыми неявными правилами Workbench.

Таким образом, имеется простая таблица (код заимствован из http://www.artfulsoftware.com/infotree/qrytip.php?id=78):

CREATE TABLE tbl( id INT, colID INT, value CHAR(20) ); 
INSERT INTO tbl VALUES 
  (1,1,'Sampo'),(1,2,'Kallinen'),(1,3,'Office Manager'), 
  (2,1,'Jakko'),(2,2,'Salovaara'),(2,3,'Vice President'); 

Следующий запрос для создания представления:

CREATE VIEW `test_view` AS
    SELECT  
      id,  
      GROUP_CONCAT(if(colID = 1, value, NULL)) AS 'First Name', 
      GROUP_CONCAT(if(colID = 2, value, NULL)) AS 'Last Name', 
      GROUP_CONCAT(if(colID = 3, value, NULL)) AS 'Job Title' 
    FROM tbl 
    GROUP BY id;

Затем преобразуется в это MySQL Workbench:

CREATE 
    ALGORITHM = UNDEFINED 
    DEFINER = `root`@`localhost` 
    SQL SECURITY DEFINER
VIEW `test_view` AS
    SELECT 
        `tbl`.`id` AS `id`,
        GROUP_CONCAT(IF((`tbl`.`colID` = 1),
                `tbl`.`value`,
                NULL)
            SEPARATOR ',') AS `First Name`,
        GROUP_CONCAT(IF((`tbl`.`colID` = 2),
                `tbl`.`value`,
                NULL)
            SEPARATOR ',') AS `Last Name`,
        GROUP_CONCAT(IF((`tbl`.`colID` = 3),
                `tbl`.`value`,
                NULL)
            SEPARATOR ',') AS `Job Title`
    FROM
        `tbl`
    GROUP BY `tbl`.`id`

Есть ли способ сообщить Workbench:сохранить вид в исходном виде, с помощью которого он был создан?

Моя самая большая проблема заключается в добавлении имени таблицы к имени каждого столбца (например, tbl. id) в качестве Iчасто приходится повторно использовать код CREATE VIEW для разных таблиц с одинаковыми именами столбцов. Тем не менее, я нахожу исходную форму более простой и удобной для чтения.

...