問題タブ [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 - 構造とデータの移行スクリプト
DDL と DML の両方の移行を管理する優れたツールまたは推奨されるツールはありますか?
私のアプリ構成の大部分はデータベースに保存されています。DDL だけでなく、これを自由に開発および移行できるようにしたいと考えています。これに関する提案はありますか?
sql - null不可能な列を既存のテーブルに追加すると失敗します。「value」属性は無視されていますか?
背景:Grails 1.3.7アプリがあり、データベースの移行を管理するためにLiquibaseを使用しています。
空ではない既存のテーブルに新しい列を追加しようとしています。
私のチェンジセットは次のようになります。
これにより、既存のすべての行に「テキストなし」という値が挿入され、null以外の制約が満たされるはずです。Liquibaseの「列の追加」ドキュメント。
ただし、移行チェンジセットが適用されている場合、次の例外が発生します。
'value'属性を使用していないように見えます。
チェンジセットを次のように変更すると、同じことができます。しかし、私はこれをしたくありません(そしてそうする必要はありません)。
Liquibaseは本当に私のvalue
属性を無視していますか、それとも私が見ることができない何かがここで起こっていますか?
Grails 1.3.7、データベース移行プラグイン1.0、Postgres9.0を使用しています
liquibase - liquibase は、カスタム タスクのために java.sql.Connection へのアクセスを許可しますか
liquibase にカスタム Java クラス/プラグインを呼び出させ、そのクラスに基礎となる接続へのアクセスを許可してデータを変更する方法はありますか。見てたけどそれだけだった
そのため、私たちの更新手順には大規模なデータ操作が必要ですが、SQL を使用するよりもはるかに簡単にコードで実行およびデバッグできます。したがって、データを抽出、変換、保存できるタスクを書きたいと思います。Liquibase フレームワーク内でそれは可能ですか?
sql-server-2008 - MS-SQLServerを使用したLiquibaseのセットアップ
Liquibase(www.liquibase.org)をMVC3 SQL Server 2008プロジェクトに利用して、データベースの移行/変更を管理しています。ただし、最初のハードルであるMicrosoftSQLServerインスタンスへの接続に遭遇しています。
liquibaseサイトのクイックスタートチュートリアルを見ていますが、mysqlをSQLサーバーDBに交換しています
私はこのコマンドを実行します:
そして、このエラーを受け取ります:
運が悪かったので、sqljdbcドライバーを指す--classpathを追加しようとしました。
liquibaseを使用してMS-SQLServerデータベースを作成または更新するにはどうすればよいですか?
liquibase - リキベース: 現在の日付を挿入
liquibase 挿入タグを使用してデータを挿入しようとしています。value tag に数字を入力するとうまくいきます。しかし、テーブル定義の一部として持っていない場合でも、デフォルトの日付 (データベースの現在の DateTime) を処理する単純な関数を探しています。
例えば:
here<column name="create_date" value ="1328055111692"/>
は正常に機能し、データベースに挿入されます。<defaultValueDate>
andも使用してみ<valueDate>
ましたが、指定された形式で日付を入力する必要もあります。
使用しているデータベースのタイプに基づいて UNIX_TIMESTAMP() または SYSDATE または now() に変換されるcurrentDateTimeFunctionのような関数を探しています。私を助けてください。
ありがとう、ラムヤ
database - Liquibaseの列のデータ型が混乱する
本番環境に既存のデータベースがあります。liquibaseを使用してスキーマをエクスポートし、新しい顧客のインストール時に使用するベーススクリプトを作成しました。LiquibaseはmssqlのすべてのID列をBIGINTとしてエクスポートしましたが、実際にはデータベースではNUMERICでした。
新しいテーブルと4つのキーを作成するアップグレードスクリプトを古いテーブルに追加すると、エラーが発生します。列が外部キーの参照列と同じデータ型ではありません。
何が起こるかというと、アップグレードするだけの(そしてクリーンインストールを行わない)顧客はデータベースにNUMERIC列を持ち、新しいBIGINT列と衝突します。
問題は、データベースの種類ごとに異なる種類であるため、どうすればよいかということです。迷っています
java - Liquibaseチェンジセットはテーブルを削除していると報告していますが、テーブルは明らかに削除されていません
スキーマがliquibaseによって完全に管理されているインスタンスで次のチェンジセットを実行しています。
そして、それが実行されていること、および後で実行されている他のチェンジセットがないことを検証できます。
しかし、私のテーブルはまだ存在しています:
sql-serverには、テーブルが削除されないようにするための何らかの制約があるはずですが、チェンジセットで何を変更する必要があるかを特定できるように、何を探す必要があるかについてのヘルプが必要です。
postgresql - 主キーを追加すると、列のタイプが変更されます
私たちのデータベースは現在、どのテーブルにも主キーを定義していません。すべてのid
列は単純な一意のインデックスです。これらのインデックスを削除し、適切な主キーに置き換えています。
私の問題: Postgres 8.4.7 では、テーブルに主キーを追加すると、特に 1 つのテーブルのデータ型が からbigint
に変更されます。integer
次のテーブル定義があります。
これが起こることです:
いくつかの回避策を検討しましたが、なぜそれが起こっているのかを知りたいです。他にも を使用するテーブルがいくつかあるbigint
ので、ソリューションを適切にハックしたくありません。
これは Liquibase でスクリプト化されていますが、Postgres コンソールでも直接実行されます。
アップデート
その他の 2 つのポイント:
bigint
でID と一意のインデックスを持つ単純なテーブルを作成しid
、主キーを追加すると、列の型は同じままです。- 実行時にはすべてのテーブルが空です。
制約と何か関係があるのでしょうか?
liquibase - Liquibaseは私の変更をコミットしません
JTDSドライバーを使用してJavaアプリケーションからMSSQLにLiquibaseを実行しています。更新を実行すると、更新が表示されますが、実際にはデータベースにコミットされているものはありません。何か案は?以下のコードはサーブレットで実行されます。
spring - LocalContainerEntityManagerFactoryBeanを使用するときにSQLファイルへのスキーマ更新を生成する
LocalContainerEntityManagerFactoryBeanを使用しており、スキャンオプションのパッケージを使用しています。
実行する必要があると思われるddlの変更を出力する、実行できる簡単なユーティリティが必要です。次に、これからリキベースのチェンジセットを確認して作成します。