gpt4 book ai didi

grails - Grails 2.x 模式导出或类似命令能否为给定数据源的模式更新生成 DDL?

转载 作者:行者123 更新时间:2023-12-05 01:21:21 27 4
gpt4 key购买 nike

Grails 模式导出在生成 DDL 以创建特定数据库的数据库模式方面做得很好。但是,我想做的是让 grails 只输出 DDL 以更新已创建的模式,而不是输出 DDL 从头开始​​创建它。

我认为这应该是可能的,因为如果您指定,grails 确实能够实际更新模式 dbCreate = "update"在您的数据源中。

但我只是想让 grails 吐出它会运行的内容,而不是实际执行它,所以我可以通过 SQL 工具以受控方式自己执行它。

最佳答案

正如@GreyBeardedGeek 在评论中指出的那样,Database Migration Plugin (现在默认包含在内)可以生成您正在寻找的“模式差异”,并且它的作用远远超过 Vanilla dbCreate = "update"确实如此,因为 Grails 的原生 db 更新仅依赖于 Hibernate 提供的内容,并且它可以进行的更新非常保守。

特别是,您正在寻找的数据库迁移插件部分是 dbm-update-sql 脚本,它将为您提供它将运行以将数据库更新到当前模式版本的 SQL。

一般来说,我强烈建议使用数据库迁移插件之类的工具,因为它将您的数据库架构与您的应用程序代码捆绑在一起,您可以轻松地将它们一起进行版本控制,并且它还包含许多工具,因此运行更新要少得多痛苦,并允许回滚和自定义脚本根据需要进行按摩。

关于grails - Grails 2.x 模式导出或类似命令能否为给定数据源的模式更新生成 DDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com