問題タブ [doctrine-dbal]

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 に答える
21693 参照

data-access-layer - データベース抽象化レイヤーとデータアクセスレイヤーの違いは何ですか?

私は実際に3層構造で立ち往生しています。インターネットをサーフィンしたところ、「データベース抽象化レイヤー」と「データ アクセス レイヤー」という 2 つの用語が見つかりました。

2つの違いは何ですか?

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

symfony - doctrine を使用したブール値としての mysql tinyint(2) の不適切なマッピング

symfony2 でデータベースをリバース エンジニアリングし、コマンドで doctrine を作成しました。

しかし、私のフィールドはtinyint(2)ではなくブール値としてマップされました。

ブール値としてマッピングされるのはなぜですか?

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

php - Prooph Eventstore (PDO) と Doctrine DBAL の結果、複数の接続が発生する

状況

Symfony 4.3 内のコマンドバス、イベントバス、およびイベントストアに Prooph を使用しています。すべての集約をイベントソースにする必要があるわけではないため、Doctrine DBAL を使用して単純な集約を単純に CRUD します。

特定のドメイン内で、イベントソース リポジトリまたは DBAL リポジトリのいずれかを使用するコマンド バスで構成されたコマンド/ハンドラーがあります。

このコマンドバスを CLI コマンドに挿入すると、CLI で何かを実行すると複数の db 接続が発生します。

問題

データベースを削除/作成しようとすると (元のインストールまたはテスト環境のリセットのため)、別のアクティブな接続があるため、Postgres は拒否します。

  • イベントソースのリポジトリを持つすべてのコマンドを無効にしてみましたが、問題は修正されました。
  • DBAL リポジトリを持つすべてのコマンドを無効にしてみましたが、問題は修正されました。
  • このコマンドバスを注入しないようにしましたが、問題は修正されました。

したがって、PDO 接続を使用するサービスを DBAL 接続を使用するサービスと組み合わせて使用​​すると、問題が発生すると結論付けることができます。

ソリューション (失敗)

$connection->getWrappedConnection()私が考えた解決策は、Prooph Eventstoreに Doctrine DBAL を使用することでした。明らかに、タイプヒンティングはこれを許可しません ( -interface をgetWrappedConnection()返しますConnection) が、実際の Doctrine PDOConnectionextends\PDOが機能する場合は、この時点でハッキネスを受け入れます! ただし、無駄に、まだ2つの接続があります。