如何防止在grails应用程序中引导数据。当我们像这样配置DataSource.groovy时
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()
。即dbCreate = "update"
答案 0 :(得分:2)
class BootStrap {
def bootstrapService
def grailsApplication
def init = { servletContext ->
if(grailsApplication.config.dataSource.dbCreate == "create-drop"){
switch (Environment.getCurrent().name) {
case "dev":
bootstrapService.bootstrapDummyData()
break;
case "test":
bootstrapService.bootstrapDummyData()
break;
}
}
}
答案 1 :(得分:0)
def init(){
if(User.list().size()==0)
objectCreation()
}
def objectCreation(){
def userObject1 = new User()
def userObject2 = new User()
}
以上代码为例。如果用户是在bootstrap中创建的。首先检查用户是否已创建。如果没有创建对象。