mysqldump-排序表输出以避免外键中的前向引用

vd8tlhqk  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(183)

我正在尝试创建一个脚本,该脚本将:
处理一个mysql模式并转储模式中表的描述,
将结果ddl中特定于mysql的部分转换为另一个数据库系统的等效部分(目前目标是h2,但是如果需要切换,任何在java环境中运行并支持内存表的数据库都是合适的),并且
然后在新数据库系统的模式中重新创建它们。
目前,我正在使用 mysqldump 执行操作的第一部分,以及执行第二部分的一系列string/regexp替换。
我的问题是 mysqldump 正在使用在引用表之前具有外键的表生成输出。这对于mysql来说不是问题,因为在mysql中,您可以禁用约束检查,然后创建它们——不幸的是,虽然h2有一个禁用约束的选项,但它只适用于数据更改,而不适用于表创建。
我真的不希望自己必须解析足够的sql来确定表的正确顺序,因为这样做至少看起来有点棘手。
因此,有没有(1)任何方法让mysqldump以正确的顺序生成表,或者(2)其他方法以正确的顺序生成表?
(我知道,至少在理论上,有一个没有正确顺序的模式是可能的,但我知道我可能使用的模式都没有这个问题,所以这不是我需要担心的)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题