gpt4 book ai didi

sql - 在grails中,我已经投入生产后,需要将域类中的字段更改为可为空

转载 作者:行者123 更新时间:2023-12-02 14:37:57 25 4
gpt4 key购买 nike

我有一个带有字符串字段的域类,该字段将更改为可为空。在DataSource.groovy中,我将模式设置为“更新”。有没有什么办法可以使Grails更改MySql而无需更改为“create”或“create-drop”。我需要MySql中的数据。

后续问题:我可以通过“ALTER TABLE myProject_my_domain_class MODIFY the_string varchar(20)NULL;”行手动进行此更改。这是可以接受的做法吗?我也有链接到另一个域类的字段相同的问题:

class myDomainClass {
MyOtherDomainClass otherThing
}

更改为
class myDomainClass {
MyOtherDomainClass otherThing
static constraints = {
otherThing(nullable:true)
}
}

如果手动SQL ALTER是唯一方法,那么编写SQL命令以便保留域类之间的Key索引的正确方法是什么?

最佳答案

您是否尝试过数据库迁移插件?

http://www.grails.org/plugin/database-migration

使用它的过程比仅设置dbCreate =“update”更为手动,但是它为您提供了更大的控制权,并且进行了一些更改,例如使列可为空。此外,您甚至可以检查对模式控制系统所做的小的模式更改,因此可以记录所做的更改。

关于sql - 在grails中,我已经投入生产后,需要将域类中的字段更改为可为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5941987/

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