db-reverse-engineer插件不生成域文件

时间:2016-12-08 16:11:21

标签: hibernate grails plugins

更新:我尝试将数据源从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

2 个答案:

答案 0 :(得分:0)

您是否正在从IDE运行命令?

我将该插件用于2.x版应用,并且遇到了与您相同的问题。只需重新启动IDE(GGTS)就可以让插件运行一次或两次但是我必须重新启动它。

即使已经生成了新的域类,GGTS有时也不会刷新/ domain目录。

答案 1 :(得分:0)

所以我设法通过不指定架构来使插件工作。如果我只是指定我希望它按预期工作的表,但只要我添加指定模式的行就不会生成任何内容。不知道为什么,但至少我得到了它的工作。如果有人对此有任何想法,请随时发表评论!