是否有任何工具可以帮助将innoDB表转换为NDB表? 我想要一个工具帮助来通过触发器替换所有外键。 我是否应该为每个FK手动完成?
答案 0 :(得分:0)
我不知道是否有工具可以让你这样做。
您总是可以用[您最喜欢的脚本语言]编写脚本来执行此操作。
它的工作原理如下:
(注意:我假设每个表都是InnoDB,并且您想要转换所有表。我还假设您的数据库中没有视图。如果您有视图,那么您必须发出SHOW FULL TABLES
而不是并且只处理那些表类型表明它不是视图的行。此外,这不会消除与外键关联的索引 - 如果你不想要所有的那些,你需要手动完成这个部分还有索引。另外,在你做任何事情之前备份你的数据库!虽然这不用说。)
$foreign_keys
SHOW TABLES
SHOW CREATE TABLE tablename
/CONSTRAINT `(.+)` FOREIGN KEY/
$foreign_keys
; DROP FOREIGN KEY
声明ALTER TABLE tablename ENGINE=NDB
$foreign_keys
中的每个条目,发出CREATE TRIGGER
声明也许实际上有一些工具可以帮到你,但另一方面,如果你不想手动操作,这可能是你需要做的。