問題タブ [testcontainers]
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.
postgresql - org.testcontainers を使用する場合、docker コンテナーに postgresql.conf をどのように含めますか?
構成を介してpostgresql testcontainerにカスタムpostgresql.confファイルを与えることは可能ですか?
私はMavenの依存関係を含めました
そして、DB URLに「JDBC URLスキームを介して起動されたデータベースコンテナー」を使用するため、Spring Bootアプリの設定は次のようになります。
postgresql.conf にカスタム設定が必要です。testcontainers によって開始された docker コンテナーに postgresql.conf をプッシュする方法はありますか?
編集1
@vilkg に感謝しますが、TC_INITSCRIPT スクリプト オプションと SET 関数については知っていました。
- my.key などのカスタム設定が必要です
- ALTER システムは、独自の設定では機能しません。例: ALTER SYSTEM SET my.key = 'jehe'; get error SQL コマンドを実行できませんでした。メッセージが返されました: `エラー: 認識できない構成パラメータ "my.key"
- 以前に、以下のように SET と ALTER DATABASE を試しました
問題は
- testcontainer が postgres コンテナーを開始し、init スクリプトを渡して実行するとき
url: jdbc:tc:postgresql:10-alpine:///databasename?TC_INITSCRIPT=init_pg.sql
- 上記のSQLを含めることができます..
- select current_setting('my.key'); の行で失敗するため、このスクリプトで secret.key の設定が正しく機能していることはわかっています。他の2つがコメントアウトされている場合
- また、データベース名テストに対して実行することは正しいことも知っています。たとえば、「ALTER DATABASE テスト」は、別の名前を使用すると失敗するためです。Testcontainers は、アプリをテストという名前のデータベースに自動的に接続します。上記のすべてで、DB が適切にセットアップされていると思いますそして、すべてが良いはずです
しかし、アプリケーションコード内で 'current_setting('my.key')' を使用すると失敗します
java - エラー CircleCi で Ryuk に接続できません
CircleCI の設定があります。ローカル マシンで CircleCI を実行すると、すべてがパスします。この場合、サーバーには多くの間違いがあり、そのうちの 1 つが
java.lang.IllegalStateException: Can not connect to Ryuk
同時に、 で以前に起動されたコンテナーでテストを接続する際にエラーが発生します。test-containers
これは、 への接続エラーが原因であると思いますRyuk
。ローカルマシンではすべてが機能し、サーバーではすべてが機能しないという事実を混乱させます。