您的方法是正确的,因为有一个包含所有域类的插件。这种方法适用于对 dataSource 进行多重配置,而不是操纵插件的行为。为了达到同样的效果,您可以相应地修改每个应用程序中的数据源。例如,如下所示:
//Application 1:
//DataSource.groovy
dataSource{
environments{
production{
.........
dbCreate = "update"
url = "prod db url"
..........
}
}
}
//Application 2: [Similar to Application 1]
//DataSource.groovy
dataSource{
environments{
production{
.........
dbCreate = "update"
url = "prod db url"
..........
}
}
}
//Application 3: [which does not persist model to db]
//DataSource.groovy
dataSource{
environments{
production{
.........
//anything other than update, create-drop, validate does nothing
//Taking into consideration you already have the tables created from
//any of the other application.
dbCreate = "none"
url = "prod db url"
readOnly = true //To be on the safer side
..........
}
}
}
相同的行为适用于其他环境。有关其属性的更多信息,请参阅DataSource。
如果您已经拥有这些表并希望为这些表生成域类,则可以毫不费力地使用db-reverse-engineer插件。
不过,如果您需要从应用程序 3 使用其他连接,则可以使用多个数据源。