問題タブ [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.

0 投票する
3 に答える
20169 参照

sql - null不可能な列を既存のテーブルに追加すると失敗します。「value」属性は無視されていますか?

背景:Grails 1.3.7アプリがあり、データベースの移行を管理するためにLiquibaseを使用しています。

空ではない既存のテーブルに新しい列を追加しようとしています。

私のチェンジセットは次のようになります。

これにより、既存のすべての行に「テキストなし」という値が挿入され、null以外の制約が満たされるはずです。Liquibaseの「列の追加」ドキュメント

ただし、移行チェンジセットが適用されている場合、次の例外が発生します。

'value'属性を使用していないように見えます。

チェンジセットを次のように変更すると、同じことができます。しかし、私はこれをしたくありません(そしてそうする必要はありません)。

Liquibaseは本当に私のvalue属性を無視していますか、それとも私が見ることができない何かがここで起こっていますか?

Grails 1.3.7、データベース移行プラグイン1.0、Postgres9.0を使用しています

0 投票する
1 に答える
995 参照

liquibase - liquibase は、カスタム タスクのために java.sql.Connection へのアクセスを許可しますか

liquibase にカスタム Java クラス/プラグインを呼び出させ、そのクラスに基礎となる接続へのアクセスを許可してデータを変更する方法はありますか。見てたけどそれだけだった

そのため、私たちの更新手順には大規模なデータ操作が必要ですが、SQL を使用するよりもはるかに簡単にコードで実行およびデバッグできます。したがって、データを抽出、変換、保存できるタスクを書きたいと思います。Liquibase フレームワーク内でそれは可能ですか?

0 投票する
1 に答える
20142 参照

sql-server-2008 - MS-SQLServerを使用したLiquibaseのセットアップ

Liquibase(www.liquibase.org)をMVC3 SQL Server 2008プロジェクトに利用して、データベースの移行/変更を管理しています。ただし、最初のハードルであるMicrosoftSQLServerインスタンスへの接続に遭遇しています。

liquibaseサイトのクイックスタートチュートリアルを見ていますが、mysqlをSQLサーバーDBに交換しています

私はこのコマンドを実行します:

そして、このエラーを受け取ります:

運が悪かったので、sqljdbcドライバーを指す--classpathを追加しようとしました。

liquibaseを使用してMS-SQLServerデータベースを作成または更新するにはどうすればよいですか?

0 投票する
8 に答える
53782 参照

liquibase - リキベース: 現在の日付を挿入

liquibase 挿入タグを使用してデータを挿入しようとしています。value tag に数字を入力するとうまくいきます。しかし、テーブル定義の一部として持っていない場合でも、デフォルトの日付 (データベースの現在の DateTime) を処理する単純な関数を探しています。

例えば:

here<column name="create_date" value ="1328055111692"/>は正常に機能し、データベースに挿入されます。<defaultValueDate>andも使用してみ<valueDate>ましたが、指定された形式で日付を入力する必要もあります。

使用しているデータベースのタイプに基づいて UNIX_TIMESTAMP() または SYSDATE または now() に変換されるcurrentDateTimeFunctionのような関数を探しています。私を助けてください。

ありがとう、ラムヤ

0 投票する
1 に答える
1188 参照

database - Liquibaseの列のデータ型が混乱する

本番環境に既存のデータベースがあります。liquibaseを使用してスキーマをエクスポートし、新しい顧客のインストール時に使用するベーススクリプトを作成しました。LiquibaseはmssqlのすべてのID列をBIGINTとしてエクスポートしましたが、実際にはデータベースではNUMERICでした。

新しいテーブルと4つのキーを作成するアップグレードスクリプトを古いテーブルに追加すると、エラーが発生します。列が外部キーの参照列と同じデータ型ではありません。

何が起こるかというと、アップグレードするだけの(そしてクリーンインストールを行わない)顧客はデータベースにNUMERIC列を持ち、新しいBIGINT列と衝突します。

問題は、データベースの種類ごとに異なる種類であるため、どうすればよいかということです。迷っています

0 投票する
1 に答える
1058 参照

java - Liquibaseチェンジセットはテーブルを削除していると報告していますが、テーブルは明らかに削除されていません

スキーマがliquibaseによって完全に管理されているインスタンスで次のチェンジセットを実行しています。

そして、それが実行されていること、および後で実行されている他のチェンジセットがないことを検証できます。

しかし、私のテーブルはまだ存在しています:

sql-serverには、テーブルが削除されないようにするための何らかの制約があるはずですが、チェンジセットで何を変更する必要があるかを特定できるように、何を探す必要があるかについてのヘルプが必要です。

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

postgresql - 主キーを追加すると、列のタイプが変更されます

私たちのデータベースは現在、どのテーブルにも主キーを定義していません。すべてのid列は単純な一意のインデックスです。これらのインデックスを削除し、適切な主キーに置き換えています。

私の問題: Postgres 8.4.7 では、テーブルに主キーを追加すると、特に 1 つのテーブルのデータ型が からbigintに変更されます。integer

次のテーブル定義があります。

これが起こることです:

いくつかの回避策を検討しましたが、なぜそれが起こっているのかを知りたいです。他にも を使用するテーブルがいくつかあるbigintので、ソリューションを適切にハックしたくありません。

これは Liquibase でスクリプト化されていますが、Postgres コンソールでも直接実行されます。


アップデート

その他の 2 つのポイント:

  • bigintでID と一意のインデックスを持つ単純なテーブルを作成しid、主キーを追加すると、列の型は同じままです。
  • 実行時にはすべてのテーブルが空です。

制約と何か関係があるのでしょうか?

0 投票する
1 に答える
1639 参照

liquibase - Liquibaseは私の変更をコミットしません

JTDSドライバーを使用してJavaアプリケーションからMSSQLにLiquibaseを実行しています。更新を実行すると、更新が表示されますが、実際にはデータベースにコミットされているものはありません。何か案は?以下のコードはサーブレットで実行されます。

0 投票する
3 に答える
772 参照

spring - LocalContainerEntityManagerFactoryBeanを使用するときにSQLファイルへのスキーマ更新を生成する

LocalContainerEntityManagerFactoryBeanを使用しており、スキャンオプションのパッケージを使用しています。

実行する必要があると思われるddlの変更を出力する、実行できる簡単なユーティリティが必要です。次に、これからリキベースのチェンジセットを確認して作成します。

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

java - javaを使用してliquibaseで2つの新しいスキーマを比較するには?

私の要件は、2 つのデータベースを比較してから、差分 sql を生成することです。Java のみで実行したいことに注意してください。私は Liquibase を初めて使用します。新しいデータベースの changeLog を生成できる CommandLineUtils という Java API を見つけました。メソッド doDiffToChangeLog を実行すると、changeLog xml が空になります。どこが間違っているのか教えてください。

ここに私のJavaコードがあります

これが私の生成したtest.xmlです

=== これが私の changeLog.xml(diff one) です

archive_dbs にはテーブルが含まれていないことに注意してください。