JaVers没有在Oracle 12中创建表

时间:2017-12-06 09:30:10

标签: oracle spring-boot openshift javers

在我们的项目中,我们将JaVers与SpringBoot和FlyWay一起用作数据库迁移工具。当我在本地构建我的项目时,一切都很好。 Flyway清理架构并应用所有迁移。当我启动我的应用程序时,Javers正在创建他的表等。我在本地使用Oracle 11XE

当我尝试在CI环境中构建项目时出现问题 - OpenShift + Oracle 12.一切正常,但JaVers在应用程序启动时不创建表。

在日志中使用空架构在本地运行时,我可以看到JaVers DDL,例如:

o.p.core.schema.SchemaManagerImpl        : 
creating entity with name jv_commit using ddl:
CREATE TABLE jv_commit (
commit_pk NUMBER NOT NULL,
author VARCHAR2(200),
commit_date TIMESTAMP,
commit_id NUMBER(22,2),
CONSTRAINT jv_commit_pk PRIMARY KEY(commit_pk)
) 

但是当在CI中运行时,我只看到:

org.javers.core.JaversBuilder            : loading GroovyAddOns ...
org.javers.core.JaversBuilder            : loading GuavaAddOns ...
org.javers.core.JaversBuilder            : loading JodaAddOns ...

我读到了一些关于糟糕方言的内容,但是在我的*.yml文件中我定义了它:

spring:
  jpa:
      database-platform: org.hibernate.dialect.Oracle10gDialect

我的JaVers属性:

javers:
  algorithm: LEVENSHTEIN_DISTANCE

另外,当我为FlyWay添加新脚本创建JaVers表时,一切正常。我的JaVers依赖:

            <dependency>
                <groupId>org.javers</groupId>
                <artifactId>javers-core</artifactId>
                <version>3.6.3</version>
            </dependency>

            <dependency>
                <groupId>org.javers</groupId>
                <artifactId>javers-spring-boot-starter-sql</artifactId>
                <version>3.6.3</version>
            </dependency>

我通过依赖注入创建JaVers实例:

@Service
@Transactional
public class JaVersService {

    @Autowired
    private Javers javers;

    //some logic
}

当应用程序在CI上启动时,我会遇到以下异常:

Caused by: java.lang.RuntimeException: 
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

任何想法可能是错误的,为什么JaVers没有创建表格?

0 个答案:

没有答案