問題タブ [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.
java - javaを使用してliquibaseで2つの新しいスキーマを比較するには?
私の要件は、2 つのデータベースを比較してから、差分 sql を生成することです。Java のみで実行したいことに注意してください。私は Liquibase を初めて使用します。新しいデータベースの changeLog を生成できる CommandLineUtils という Java API を見つけました。メソッド doDiffToChangeLog を実行すると、changeLog xml が空になります。どこが間違っているのか教えてください。
ここに私のJavaコードがあります
これが私の生成したtest.xmlです
=== これが私の changeLog.xml(diff one) です
archive_dbs にはテーブルが含まれていないことに注意してください。
database-migration - 空の既存のデータベースを使用したLiquibaseデータベースの移行
Spring、JPA / Hibernate、MS SQL Server/PostgreSQLを使用してJavaWebアプリケーションを開発しています。インストールされているシステムのデータベースの移行を簡単にするために、Liquibaseを統合して、アプリケーションの起動時に自動的に更新を実行したいと思います。現在、私は常に正しい順序で手動で実行する必要がある更新スクリプトを作成しています。
Springとの統合をテストしたところ、非常に迅速に機能するようになりました。Liquibaseのメタテーブルは最初のチェンジセットで作成され、変更を実行します。問題は、すでにいくつかのシステムがインストールされていることですが、将来的には他のインストールが行われる可能性があります。
Liquibaseを使用して、データベースが空であるかどうかを検出し、新しくインストールしたシステムでDDLを自動的に実行することは可能ですか?それ以外の場合は、手動でDDLを実行してから、アプリケーションを起動する必要があります。
私が欲しいのは、データベースが空のときに自動的に初期化されるか、データベースがすでに存在する場合は更新されることです。Liquibaseでそれを行う可能性はありますか、それともこれを機能させるためのトリックはありますか?
java - Liquibase クラスが 1.9 から 2.0.3 にない
Liquibase を 1.9 から 2.0.3 に更新しているときに、FileSystemFileOpener.java が見つからないようでした。
2.0.3 バージョンの FileSystemFileOpener.java に代わるものがあるかどうか教えてください。2.0.3 バージョンで行われたそのような変更はどこにありますか?
grails - Grails db 移行プラグイン
データベースモデルを変更しようとしているので、このチュートリアルに従いました。ところで、Grails 1.3.7 を使用しています。
私は走った:
無事取り付けました!
しかし、私が走ったとき:
次のエラーが表示されました。
maven-plugin - liquibase updateSQL
updateSQL ゴールを使用して、変更スクリプト (SQL ファイル) を生成しています。
結果の SQL ファイルには、スキーマ名 (ユーザー名) が付加されていません。これを達成する方法はありますか?
create table changeSet の結果は
私が欲しいのは
generate-resources に defaultSchemaName を追加しようとしました
助けていただければ幸いです。
ありがとう
grails - Grailsdb-migrationテーブルはすでに存在します
Grails1.3.7とdb-migrationプラグインを使用しています。
デルタを含むchagelog.groovyファイルを生成しました。次のプロパティを設定します。
これで、Datasource.groovyに、更新するdbCreateがあります。
アプリケーションを起動すると、デルタにあるテーブルがすでに作成されていることがわかります。
これについて何かアイデアはありますか?
java - Spring MVCプロジェクト内にあるスクリプト(実行可能クラス)を実行するにはどうすればよいですか?
私はSpringMVCアプリケーションを開発しており、Mavenを使用しています。私は現在、いくつかのJava「スクリプト」を作成しようとしています(「スクリプト」と呼ぶべきかどうかはわかりません。実際には、コマンドで呼び出すことができる「main(String [] args)メソッドを持つJavaクラス」を意味しますline)Liquibaseを使用していくつかの作業を行います。
「スクリプト」は、Spring MVCアプリケーションからいくつかのコンテキストファイルをロードし、Webアプリケーションからプロパティファイルにアクセスします。したがって、アプリケーションなどと同じデータベース接続設定を使用できるようになります。
私の質問は、これらのスクリプトを実行する方法ですか?
ローカルではEclipseを使用しており、これらの「スクリプト」の実行は「Run As/JavaApplication」を使用して簡単に行えます。しかし、私はそれらを自分のprodサーバーでも実行できるようにしたいので、Eclipseを使用してそれらを起動することはできません。そこで実行できるようにするにはどうすればよいですか?
アプリケーションを.war以外の形式でエクスポートする必要がありますか?「java-jar」を使用してスクリプトを実行できるようにするには、プロジェクトから追加の.jarを作成する必要がありますか?
それらのスクリプト用に別のプロジェクトを作成する必要がありますか?しかし、スクリプトは、他のプロジェクトにあるSpring MVCアプリケーションから必要なコンテキストをロードできるでしょうか?
多分私が見ないこれを行う簡単な方法がありますか?
更新:私が望むことを達成できると思う1つの方法は 、実行するタスクへの扉としてWebサービスを公開するWebアプリケーションを用意することです。次に、コマンドラインでwgetなどを使用してそれらを呼び出すことができます。ただし、Webサービスを作成しなくても、クラスに直接アクセスできるようにしたいと思います。
java - Springliquibaseチェンジセットファイルの更新
私はliquibaseを初めて使用します(Spring Liquibaseを使用しています)...手動のデータベース変更をliquibaseのチェンジセットファイルに反映させることが可能かどうかを誰かに説明してもらえますか...つまり、テーブルAがある場合初めて、そしてそれから列を削除した後、変更セットファイルでそれを自動的に更新する方法...
ありがとう
言い換えれば、私は春のliquibaseまたはjavaからのliquibasediff操作を探しています
もう一度ありがとう
mysql - Liquibase で既存のデータを使用しますか?
Liquibase を使用する場合、挿入するデータの一部を生成するために既存のデータを使用する方法はありますか?
たとえば、ID 5 の行を更新したいとしますが、実際に ID を取得する別のテーブルにリンクされているため、ID が 5 になることを前もって知りません。Liquibase に SELECT クエリから ID を取得するように指示する方法はありますか?
Liquibase は非常に構造化された非動的なアプローチ向けに設計されていると感じているので、これは実際には不可能だと思いますが、質問しても問題ありません。
ありがとう。