問題タブ [liquibase-hibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
162 参照

liquibase - Liquibase が Spring Boot プロファイルの変更で機能しない

Spring Boot プロジェクトに SQL Server 2014 で Liquibase を使用しています。起動時にいくつかのテーブルにデータを入力し、そこにある基本情報を更新しようとしています。

すべてが常に適切に機能しますが、Spring Boot プロファイルを変更した瞬間、liquibase が失敗し、テーブルが存在すると不平を言います。DB を完全に削除しようとしましたが、Liquibase が作成してくれることを期待しています。テーブルが存在するとまだ不平を言っています。理由がわかりません。1 つの Spring Boot プロファイルで同じことを行うと、シームレスに動作しますが、Spring Boot プロファイルを変更するときに問題が発生します。

0 投票する
2 に答える
606 参照

postgresql - データベース A からデータベース B にデータベース スキーマをコピーする方法

Liquibaseチェンジセットを使用してPostgresqlデータベースAを作成しました。現在、新しいデータベース B を作成し、データベース A からスキーマをリアルタイムでコピーできるアプリケーションを作成しています。これには、データベースを後で更新できるため、liquibase 変更セットが含まれます。データベース A にコピーされたスキーマが既に更新されている可能性があるため、ベースの変更セットが古くなっていることに注意してください。

私の主な質問は次のとおりです。

  1. liquibaseを使用してPostgreSQLスキーマxをデータベースa(実行時に動的に生成)からbにコピーする方法は? データベース b は別のサーバー上にある可能性があります。
  2. liquibase では不可能な場合、他のどのツールやアプローチで可能になりますか?

--

さらにコンテキストを追加しましょう。

  1. Liquibaseチェンジセットを使用して、新しいデータベースのスキーマを初期化します。
  2. 実行時に新しいテーブルとフィールドをデータベースに追加できます。または、アプリケーションの実行中。たとえば、新しいテーブル people をデータベース a のスキーマに追加しますが、これは元は変更セットに含まれていませんでした。これは、liquibase クラスも使用して行われます。そのため、変更セットが databasechangelog テーブルに追加されます。
  3. ここで、新しいデータベースを作成します b.
  4. データベース a から b のスキーマを people テーブルと共にインポートします。

それが明確であることを願っています。

ありがとう。

0 投票する
0 に答える
99 参照

liquibase - 差分がインデックスの存在を検出しない

最初の差分を生成するとき。差分ファイルは正しいようです。作成する必要があるテーブルがあります。アプリを実行すると、テーブルが作成されます (Oracle)。すべて問題ありません。検証の目的で、diff コマンドを再度実行し、変更なしで返されることを期待しています。残念ながら、主キー列が変更されて戻ってきます。新しい一連の変更を実行して、別の差分を実行するとします。それでも同じ変更ログが返されます。これを無限に行います。

間違った依存関係を使用している可能性があると思いますが、非常に迷っています。

POM

テーブル作成変更セット

常に作成される差分

リキベースの性質

referenceUrl=hibernate:spring:com.example?dialect=org.hibernate.dialect.Oracle12cDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy