問題タブ [liquibase]
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.
database - データベース差分ツール
JPA/Hibernate を使用する Java 開発者として、Hibernate によって生成されたデータベースと本番データベースを比較するのに役立つツールを探しています。
私はすでに LiquiBase の能力LiquiBaseを見てきましたが、これは非常に素晴らしいものです... 残念ながら、いくつかの奇妙なバグに悩まされています:
- 理由もなく外部キーを再作成する
- 理由もなくインデックスを再作成する
仕様と一致していないのは、JDBC ドライバーの実装と同じくらい Liquibase のせいであるかどうかは完全にはわかりません。自分で展開しようとしても、おそらく同じ問題に悩まされるでしょう。
以下をサポートする非 Java ベースのソリューションを探しています。
- MySQL
- PostgreSQL
- オラクル
- DB2
liquibase - 別のエージェントでliquibaseを実行する際の問題
同じdb-changelogをantで実行し、次にSpringで実行する必要があります。antがchangelogを実行し、春の実行時に何も実行せず、正常に停止することを願っています。Antはdb-changelogを正常に実行してから、スプリング実行しますが、スタックトレースの一部である例外をスローします。
理由:liquibase.exception.JDBCException:SQL CREATE TABLEアクションの実行中にエラーが発生しました(action_id int8 NOT NULL、action_name VARCHAR(255)、version_no int8、reason_required BOOLEAN、comment_required BOOLEAN、step_id int8、CONSTRAINT action_pkey PRIMARY KEY(action_id)):原因SQL CREATE TABLEアクションの実行中にエラーが発生しました(action_id int8 NOT NULL、action_name VARCHAR(255)、version_no int8、reason_required BOOLEAN、comment_required BOOLEAN、step_id int8、CONSTRAINT action_pkey PRIMARY KEY(action_id)):原因:エラー:リレーション"action"は既に存在します; ネストされた例外はorg.springframework.beans.factory.BeanCreationException...です。
どんな助けでも大歓迎です。
よろしく、
java - Liquibase diffは、テーブル名に間違った大文字と小文字を使用してチェンジセットを生成します
LiquiBaseを使用してリモートmysqlデータベースで差分を実行していますが、生成されるチェンジセットがテーブル名に誤った大文字小文字を使用していることがわかりました(すべて小文字)。その後、これにより更新が失敗します。
- Liquibase v1.9.5
- データベース:MySQL
- ローカルOS:Windows 7
- リモートOS:Ubuntu
私は何か間違ったことをしていますか、それともこれはバグですか?
これが私の差分タスクです:
これにより、(他のエントリの中でも)次のものが生成されます。
この変更セットに対して更新を実行すると、次のようになります。
実際のテーブル名は「Project」です。正しいケーシングを使用するようにchangeEntryを変更すると、機能します。
これを正しく機能させる方法について何か提案はありますか?
よろしく
マーティ
rollback - sqlFileタグを使用したliquibaseの将来のロールバックエラー:ファイルが見つかりません
ant スクリプトに future-rollback タグを追加しました。私がやりたいこと (そして、future-rollback が私が探しているものだと思います) は、SQL ロールバック スクリプトを生成することですが、それを実行することはありません (ロールバック スクリプトは、SQL スクリプトと共に配信する必要があります。クライアントからの要件です)。
私の変更ログ ファイルには多くの変更セットがあり、その中には <sqlFile>
タグが含まれているものもあります。
例えば:
<databaseChangeLog ...>
<include file="latest/somesqlprocedure.xml" relativeToChangelogFile="true"/>
</databaseChangelog...>
タグlatest/somesqlprocedure.xml
が付いている場所。sqlFile
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
<sqlFile path="${changelog.dir}/latest/myprocedure.sql" splitStatements="false" />
</changeSet>
</databaseChangeLog>
Ant スクリプトを実行すると、次のエラーが表示されます。
liquibase.exception.ChangeLogParseException: 無効な移行ファイル:
<sqlfile path=${changelog.dir}/latest/myprocedure.sql>
- ファイルが見つかりませんでした
誰が何が起こっているのか考えていますか?
これは build.xml ファイルのスニペットです
前もって感謝します。
oracle - Liquibase - 多くの Oracle トリガーを 1 つのファイルにアップロードする
sqlplusを使用してDBにアップロードするファイルに多数のOracleトリガーを保存しています。これを管理する代わりに liquibase を使用したいのですが、トリガーを個別のファイルに分割したくありません。ファイルは次のようになります。
私はもう試した
しかし、まだ「;」で分割しようとしているようです。splitStatements を false に変更した場合。次に、「/」を無視し、すべてを無効な単一のトリガーとして含めます。何か案は?
ティア。
eclipse - SVNを使用したLiquibase-EclipseのPHP/MySQLプロジェクト
今日はLiquiBase
プロジェクトを見つけましたが、とても面白いと思います。使いたいのですが、一番いい方法を探しています。
私たちはPHP
プロジェクトとSVN
(数人の開発者)1台のMySQL
サーバーで作業しています。
LiquiBaseの操作方法を知りたいです:
- そのchangeLogもSVNに保存する必要がありますか?
- このchangeLogを編集する方法は??
IDE
_Linux
_ のプラグインEclipse
は利用できません。 - 変更を適用するためのコミット後のスクリプトはありますか?LiquiBaseのエラーログはどうですか?
どんな推測もありがとう!
java - Java SQL データベースの独立性
さまざまな理由から、Hibernate に代わるものを探していました。私は Liquibase に出くわし、そのアイデアが気に入ったので、試してみたいと思っています。Liquibase は、SQL に依存しない方法でデータベースの作成/変更に対応します。私の主な質問は、データベースに依存せずにアプリケーションのコードで SQL ステートメントを実行するにはどうすればよいかということです。Hibernates Dialect クラスのように機能する他のプロジェクトはありますか?
ありがとう、
ポール
liquibase - postgresでliquibaseを使用して大文字と小文字を区別しないテーブルを作成する
liquibase で大文字と小文字を区別しないテーブルを作成する方法を知っている人はいますか? 私は最新のpostgresを使用しています。たとえば、liquibase は次のようにテーブルを作成します。
p>しかし、そのようにテーブルを作成するためにliquibaseを作成する方法:
p>java - Hibernate マッピング定義に対する Liquibase diffChangeLog
この質問は、「JPA(注釈付きエンティティ)とliquibaseを使用したHibernate 」に関連しています。
Hibernate マッピング定義に対して Liquibase diff を実行するときに、実際に何を期待すべきか疑問に思っていました。
生成されるように見えるもの:休止状態のマッピングの状態をデータベースの現在のイメージに移行するliquibaseの変更ログ。
私が望んでいたこと:既存の (古い) データベースを移行して、(新しい) 休止状態のマッピングの変更を反映する、liquibase の変更ログ。
私は間違ったことを期待していますか?または私は何か間違ったことをしていますか?
教えてくれてありがとう!J.
java - Liquibase、「データ」を含むgenerateChangeLogでの「移行に失敗しました:Javaヒープスペース」エラー
liquibaseを使用して開発データベースの1つにベースラインを作成しようとしています。これが私の環境です。データベース、-> Oralce 10g、多くの構成データを含む500以上のテーブル、oracleエクスポートダンプファイルは約70MBです。--Java --Java 6 --Oracle JDBC Driver --ojdbc14.jar(Oracle Webサイトからダウンロード)-コマンドラインexecute liquibase --changeLogFile = base.changelog.data.xml --diffTypes = "data" generateChangeLog
実行結果:-Liquibaseは「-Xmx512m-Xms256m」jvmパラメーターで実行するように構成されています。失敗、エラーメッセージ-「移行に失敗しました:Javaヒープスペース」-「-Xmx1024m-Xms512m」で実行するように構成します。同じエラーが発生します。 「-Xmx2048-Xms512m」で実行、同じエラー
データベースのバージョン管理を開始できるように、開発プロジェクトのベースラインを作成するために他にどのようなオプションがありますか。
アドバイスに感謝します、ありがとう!
ジェームズ