如何防止在grails應用程序中引導數據。當我們配置了DataSource.groovy中這樣防止在grails數據源更新模式下引導數據
development {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/test"
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
dialect = org.hibernate.dialect.MySQL5InnoDBDialect
username = "root"
password = "root"
}
}
BootStrap.groovy中
class BootStrap {
def bootstrapService
def grailsApplication
def init = { servletContext ->
switch (Environment.getCurrent().name) {
case "dev":
bootstrapService.bootstrapDummyData()
break;
case "test":
bootstrapService.bootstrapDummyData()
break;
}
}
def destroy = {
}
我想bootstrapService.bootstrapDummyData()
當我configrued我的數據源更新模式不被調用。即dbCreate = "update"
能否請您清楚解釋您的問題。 – Visme
我以更新模式配置了DataSource.groovy。當我運行我的Grails應用程序時,它調用BootStrap.groovy,這將導致數據庫中唯一的約束驗證。因爲我已經在我的數據庫中有數據。所以我想當我在更新模式下運行grails-app時,它不會調用BootStrap.groovy。 –
我猜你在你的bootstrap中有一些代碼會創建一些DB實體?請在問題中包含您的'Boostrap.groovy'代碼(請參閱編輯鏈接)。一種方法是檢查實體是否存在(搜索一些唯一的contranstraint),並且只有在實體不存在時才創建實體。 – nickdos