mysqlpump生成不正确的创建视图查询

时间:2018-06-23 13:34:18

标签: mysql

我使用mysqlpump备份数据库:

mysqlpump --single-transaction --add-drop-database --skip-definer --databases mydatabase --result-file /opt/myservice/backup/export.sql

我的数据库包含几个视图,并且其中的一部分在CREATE VIEW查询中以完全不正确的SELECT导出,就像这样:

CREATE VIEW `careerpulse-staging`.`user_view` AS SELECT
 1 AS `id`,
 1 AS `name`,
 1 AS `department`,
 1 AS `manager_id`
;

为什么会发生,我该如何解决?

MySQL版本是5.7

1 个答案:

答案 0 :(得分:0)

这是预期的行为,而不是错误。查看 complete 转储文件。

除非其他视图或表已经存在,否则无法创建引用其他视图或表的视图。

为消除潜在的循环依赖关系,将在第一遍创建虚拟视图,并在创建所有视图和表之后,删除这些虚拟视图,并在第二遍创建真实视图。

正确的视图定义应该在转储文件的末尾找到。