从模型进行正向工程后,如何自动执行 MySQL 脚本或例程

Posted

技术标签:

【中文标题】从模型进行正向工程后,如何自动执行 MySQL 脚本或例程【英文标题】:How do I automatically execute a MySQL script or routine after forward engineering from model 【发布时间】:2012-05-10 05:02:49 【问题描述】:

我在 mysql Workbench 中构建了一个 EER 模型,我通过转发工程来创建数据库。正向工程完美运行,数据库按预期从图表创建。

除了表之外,我还包括一些存储过程(又名例程),它们都包含在模型中。这些例程被设计为只运行一次,一旦数据库设置完成。它们会自动将必要的数据插入表中。

我的问题是,如何让正向工程流程在创建表后自动调用/执行这些例程之一。

现在我必须对数据库进行正向工程,然后手动调用存储过程?

【问题讨论】:

你真的有这么多存储过程,手动操作太多了吗? 【参考方案1】:

在工作台上的 EER 图中,右键单击一个表并选择编辑表。这将在底部打开一个带有几个选项卡的窗格。选项卡是表、列、索引、外键等。有一个选项卡称为插入。此选项卡允许您将记录插入模型数据库。

当您单击插入选项卡时,它将显示一个网格。将要插入的记录添加到此网格中。 确保提交这些记录。例如,请参见屏幕截图。

现在,当您在第一个屏幕上对数据库进行正向工程时,有一个选项可以生成插入语句。勾选选项正向工程师,您要插入的数据将在您创建模型时编写脚本。保存脚本,这样您就可以一遍又一遍地运行它,而无需进入 MySQL 工作台。

我没有在工作台中找到更新、删除或执行其他数据操作的选项,但我认为这就是您要寻找的。​​p>

注意:要直接导入记录,您将无法通过工作台执行此操作;没有选择。您可以将记录保存到文件中。但是,要导入/创建它们,您需要一次添加一个(来自建模器)。但是,您可以使用已有记录备份 MySQL 数据库。然后将这些 INSERT 语句从 MYSQL 备份脚本复制到您的设置脚本中。

步骤是:

    创建数据库。

    将带有设置/配置记录的文件导入新创建的数据库中

    备份数据库

    打开备份文件,然后将您要查找的 INSERT 语句复制并粘贴到 MySQL Workbench 创建的设置脚本中

更新:

当您进入正向工程中要执行的审查脚本步骤时,我做了一些实验,您也可以在最后通过编辑脚本来调用存储过程(如您所提到的)。完成后将脚本保存到文件并进行测试。

希望有帮助!

【讨论】:

非常感谢您的帮助。存储过程生成 30 000 条需要插入数据库的记录。另一个居住在国家和相关城市。数据集太大,无法手动插入。任何进一步的解决方案仍然欢迎。 @Mark Van Wyk 您提到的这些存储过程是在正向工程期间创建的吗? Namphibian,是的,我已将它们添加为“例程”,它们会在正向工程期间自动创建程序。 在脚本的审阅部分标记在运行之前,您可以编辑脚本。然后,您可以在脚本末尾手动插入对存储过程的调用,以便在创建表后执行它们。我对此进行了测试,并且可以正常工作。只需保存脚本,以便稍后重新运行。 我正在寻找一个自动化的解决方案,其想法是其他开发人员可以简单地对脚本进行正向工程并忘记它。但是,我会将它放在说明中,以供其他开发人员在运行之前手动将例程调用添加到 SQL 脚本中。

以上是关于从模型进行正向工程后,如何自动执行 MySQL 脚本或例程的主要内容,如果未能解决你的问题,请参考以下文章

正向工程 MySQL 工作台错误 1064

如何允许我的团队成员访问我的AWS mySQL数据库?

MySQL Workbench 中的正向工程数据库 - 错误 1304:FUNCTION GET_NEXT_SEQ 已存在

MyBatis的逆向工程

Grails 从领域模型自动生成数据库

MySQL Workbench将模型生成SQL文件出错