1

Flyway を使用して、次のスプリング ブート構成でデータベース スキーマの更新を管理しようとしています。

spring:
    datasource:
        driver-class-name: oracle.jdbc.OracleDriver
        password: ${java_user_password}
        url: ${DB_URL}
        username: JAVA_USER

    flyway:
        locations: classpath:/db/migration
        user: SUPER_USER
        password: ${password_of_super_user}
        baseline-on-migrate: true
        url: ${DB_URL}
        schema: JAVA_USER

Flyway バージョン 5.1.4。

構成は Oracle 12.1.0.2.0 Standard Edition では機能しますが、Enterprise Edition では機能しません。次のエラーが発生し続けます。

SQL 状態: 42000
エラー コード: 955
メッセージ: ORA-00955: 名前は既存のオブジェクトによって既に使用されています
行: 17
ステートメント: CREATE TABLE "JAVA_USER"."flyway_schema_history" (
"installed_rank" INT NOT NULL,
"version" VARCHAR2(50 )、
「説明」VARCHAR2(200) NOT NULL、
「タイプ」VARCHAR2(20) NOT NULL、
「スクリプト」VARCHAR2(1000) NOT NULL、
「チェックサム」INT、
「installed_by」VARCHAR2(100) NOT NULL、
「installed_on」 TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"execution_time" INT NOT NULL,
"success"NUMBER(1) NOT NULL
)

理由はありますか?spring-boot アプリケーションを開始する前に、スキーマの下にあるすべてのオブジェクトを削除します。

ありがとう!

4

0 に答える 0