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 アプリケーションを開始する前に、スキーマの下にあるすべてのオブジェクトを削除します。
ありがとう!