問題タブ [sql-maven-plugin]

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 投票する
1 に答える
1361 参照

sql - MavenSQLプラグインの実行順序

SQLの実行順序に問題があります。

1つのディレクトリの下のテーブルごとに1つのSQLスクリプトファイルがあります。例:ディレクトリc:\SqlScriptsにuser.sqlとrole.sqlがあります。これらのSQLファイルを実行するためにSQLMavenプラグインを使用しています。

ロールテーブルにはユーザーテーブルへのForiegnキーがあり、プラグインがuser.sqlの前にrole.sqlを実行しようとしているため、実行は失敗します。c:\ SqlScripts * .sqlとして指定しているため、orderfile属性を使用できません。

この問題を解決するにはどうすればよいですか?

私は2つの解決策を見ます:

  1. すべてのスクリプトを作成順に1つのファイルにマージします。ロールを作成するスクリプトは、ユーザーを作成するスクリプトの後にあります。

  2. *ワイルドカードを削除し、実行順に属性内の各ファイルを指定します。

  3. 実行順序に従ってファイルの名前に番号を付けます(例:1_user.sql、2_role.sql)。「昇順」のorderfile属性を使用します(順序が適用されない可能性があるため、これが機能するかどうかはわかりません)。

よりエレガントなソリューションはありますか?

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

sql - sql-maven-sqlCommandで一重引用符をエスケープするプラグイン

私はMavenベースのプロジェクトを持っており、システムテスト用にDBをセットアップ/ティアダウンするためにsql-maven-pluginを使用しようとしています。私はsqlCommand要素を入れました:

CALL SOME_STORED_PROC('SYSTEST')

ただし、mavenビルドは次の例外を除いてこのSQLで失敗します。

org.apache.maven.lifecycle.LifecycleExecutionException: ERROR: Function 'SOME_STORED_PROC(UNKNOWN)' does not exist Unable to identify a function that satisfies the given argument types You may need to add explicit typecasts

ストアドプロシージャの引数を特別な方法でエスケープする必要があるのではないかと思います。ドキュメント/例が見つかりませんでした。

何かご意見は?

Aviad

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

sql - Maven: sql-maven-plugin を使用した PL/SQL スクリプトでエラー PLS-00103 がスローされる

sql-maven-plugin を使用して、Oracle 11 データベースで PL/SQL スクリプトを実行しようとしています。スクリプトは有効な PL/SQL ですが (私の知る限り)、実行すると PLS-00103 エラーが発生します。

SQL スクリプト: (drop_all_tables.sql)

そして私のプラグイン構成:

そして、これは Maven 実行からの出力です。

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

sql - H2DB - CREATE TABLE リクエストで SQL ON UPDATE をスクリプト化する

ON UPDATEH2 データベースでCREATE TABLEリクエストを実行する方法。

環境:

プロジェクトの h2 データベースにテーブルを生成するために sql-maven-plugin (1.5) を使用しています。

しかし、スクリプト sql を呼び出すと、org.h2.message.DbException.getJdbcSQLException.

私のスクリプト:

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

postgresql - Maven Mojo sql:execute を使用したエラー

mvnTL;DR バージョン: Maven Mojo SQL プラグインを使用して、コマンドライン経由で DB スキーマ内の特定のテーブルを自由に作成/削除 (またはそれらのテーブルのデータをロード) できるようにしたいと考えています。どのように?


私は長年の Java 開発者ですが、ほとんどの場合、Javaantベースの世界に住んでいます。のパワーと明快さant、そしてすべてをコントロールできるところが好きです。しかし、私の新しい仕事では、使用するプッシュがありますmaven。そこで、自宅で取り組んでいるプロジェクトを使って学ぶことにしました。

ant私が別の個人プロジェクトで設定したことの 1 つは、コマンド ラインから Postgres データベースを完全に設定および破棄する機能です。テーブル、シーケンス、および統合テスト データを個別に、またはまとめてスライス アンド ダイスできます。確かに、それは私が何兆ものantターゲットを持っていることを意味しますが、それは非常にうまく機能します. 私はこれが好き; それは何年にもわたって私に非常に役立ってきました。

週末に Maven でこれを実現する方法を調べていたところ、Mojo SQL Maven Pluginを見つけました。使用法ページ(実際には説明のない 1 つの半例にすぎないため、この用語を大まかに使用しています) とサンプルページpom.xmlを確認した後、ファイルにいくつかの変更を加えることができました。例 (postgressql) のいくつかの明らかなタイプミスを修正し、PostgreSQL JDBC ページを参照して、JDBC 接続文字列が正しいことを確認しました。pom.xml以下に(有罪を保護するために変更された)すべてを貼り付けます。

データベースを作成していないため\l、PG コマンドラインに表示されません。

したがって、実行するmvn sql:executeと、データベースが作成されると予想されます...または、エラーが発生しても続行するように設定されているため、少なくともdrop-db-before-test-if-anyタスクに失敗しないでください。しかし、もちろん:

最後の行に記載されているエラー ページは役に立ちません。Maven自体ではなく、プラグインがエラーを引き起こしたことを示しているだけです。

-Xそれでは、スイッチで実行してみましょう。エラーの興味深い部分を投稿します。

でも、でも、でも… <onError>continue</onError>

だから、質問に:

  1. 私は何を間違っていますか?それは私の期待ですか、それとも私のコードですか?
  2. create-person.sqlファイルがあることに気付くでしょう。例から、create-address.sql. しかし では、参照整合性の順序を念頭に置いて Ant タスクを実行する限り、テーブルとは別にテーブルantを作成することができます。そのようなことは可能ですか?もしそうなら、どのように?addresspersonmaven

冗長で申し訳ありません。ご協力いただきありがとうございます。

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

maven - sql-maven-plugin 作成関数

ローカルでテストするために、hsqldb と組み込みの jetty インスタンス (経由) maven を使用しています。アプリケーションは本番環境で mysql データベースを使用します。UNHEX()特定のクエリに対してmysql を呼び出す必要があります。関数を呼び出す hsqldb のラッパーを作成するにはどうすればよいですかHEXTORAW()。以下を試してみましたが、sql-maven-plugin エラーが発生しました。

sql-maven-plugin エラー:

プロジェクト rms で目標 org.codehaus.mojo:sql-maven-plugin:1.5:execute (default-cli) を実行できませんでした: 予期しないトークン: ステートメントの FUNCTION [[エラー] CREATE FUNCTION]

ラッパー関数を作成するにはどうすればよいですか?

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

java - sql-maven-plugin が正しい mysql データベースにテーブルを作成しない

以下のコードのさまざまなバリエーション (データベース接続の詳細をタグに抽出することを含む) を試しましたが、何をしてもテーブルが間違ったデータベースに作成されます。

「use autofi」データベースも実行しようとしましたが、どちらも機能せず、テーブルは別のデータベースに作成されたままです。

テンプレートとして maven-sql-plugin の例を使用しましたが、どちらも機能しませんでした。

私は何を間違っていますか?

ありがとう、ショーン

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

mysql - 複数の区切り文字を含むsql-maven-plugin

sql-maven-pluginを使用して、いくつかのデータベースでいくつかのMySQLスクリプトを実行しています。同じSQLスクリプトで、テーブル、データ、トリガー、イベント、およびストアドプロシージャを展開したいと思います。

INSERTまたはCREATEの場合はを使用するため、行区切り文字に問題がありますが、トリガーの場合は、たとえば、で;区切り文字を変更する必要があります。DELIMITER //

プラグインで区切り文字を変更できることは知っていますが、すべてのスクリプトに適用できます。一意のスクリプトの一部についてのみ区切り文字を変更したいと思います。

これは私のMaven構成です:

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

maven - Maven プラグイン java.library.path

maven-surefire-plugin は、構成オプションjava.library.pathによるプロパティの使用をサポートします。<argLine>

jTDS ドライバーを Windows 認証 (ntlmauth.dll が必要) で使用するには、java.library.pathプロパティを sql-maven-plugin (構成オプションがない) に渡す必要があります。<argLine>

よろしくお願いします。