更新:我尝试将数据源从Oracle更改为Access(是的,我知道),插件能够生成表。所以至少我已经把它缩小了一点,但仍然不确定是什么导致它失败。
运行db-reverse-engineer Grails plugin时,它不会生成任何域文件,并退出说它成功(没有错误)。
我已经在完全新鲜的应用程序上尝试了Grails 2.4.4和Grails 3.1.4设置的所有插件版本。我尝试过的所有数据源都是Oracle。我还确保通过指定架构和我想要的特定表来正确配置它。我也在2.4.4测试应用程序上使用hibernate 3/4。如果我没有指定模式或表,那么命令需要很长时间才能执行(因为它可以看到所有表),但仍然会产生零输出。该插件肯定在做某事。
任何人都知道我做错了什么?
以下是我的某个测试应用中的一些相关代码。
(Grails版本:3.1.4,Groovy版本:2.4.6,JVM版本:1.7.0_80)
application.groovy
grails.plugin.reveng.includeTables =
[
'EXAMPLE_TABLE', 'EXAMPLE_TABLE2'
]
grails.plugin.reveng.defaultSchema = ['EXSCHEMA']
这是我的application.yml的一个片段
hibernate:
cache:
queries: false
use_second_level_cache: true
use_query_cache: false
region.factory_class: 'org.hibernate.cache.ehcache.EhCacheRegionFactory'
dataSource:
pooled: true
jmxExport: true
driverClassName: oracle.jdbc.OracleDriver
dialect: org.hibernate.dialect.Oracle10gDialect
username: REMOVED
password: REMOVED
spring:
freemarker:
checkTemplateLocation: false
environments:
development:
dataSource:
url: jdbc:oracle:thin:@REMOVED:REMOVED:REMOVED
答案 0 :(得分:0)
您是否正在从IDE运行命令?
我将该插件用于2.x版应用,并且遇到了与您相同的问题。只需重新启动IDE(GGTS)就可以让插件运行一次或两次但是我必须重新启动它。
即使已经生成了新的域类,GGTS有时也不会刷新/ domain目录。
答案 1 :(得分:0)
所以我设法通过不指定架构来使插件工作。如果我只是指定我希望它按预期工作的表,但只要我添加指定模式的行就不会生成任何内容。不知道为什么,但至少我得到了它的工作。如果有人对此有任何想法,请随时发表评论!