私はliquibaseでDBスキーマを作成するglassfishアプリケーションを持っています。同じアプリケーションをSpring Bootに移行しました。私はDBスキーマを削除しませんでした。私は、Springアプリケーションをデプロイし、LiquiBaseをスクリプトを実行すると、テーブルのいずれかを作成するためのチェンジセットを実行するとき、私はLiquibaseスクリプトが失敗する
java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object
を取得します。
liquibaseスクリプトに変更がなく、データベースの変更ログのロックが正常に取得されたことを指定する必要があります。
すべてのテーブル作成手順をスキップしてはいけませんか?私は同じDBに同じアプリケーションを接続します。これまでにこのような状況に遭遇しましたか?
UPDATE:これは、changelogファイルに保存されているMD5サムに関連している可能性がありますか?したがって、新しいアプリケーションによって計算されたmd5は、古いアプリケーションによって計算されたmd5と一致せず、スクリプトがトリガーされて明白な例外が発生しますか?
感謝
ありがとうございます@SteveDonie、それは私の問題でした。 liquibaseバージョンをアップグレードすると、changelogパスが若干異なる方法でビルドされるようになりました。したがって、変更セットが適用されます。解決策は、.xmlファイルにlogFileName属性を指定することでした。 – TheRock3t
うれしい私は助けることができます。これが正解であると思われる場合は、ここで正しい答えを「同意してください」と答えてください。 – SteveDonie