3

MySQL はさまざまなストレージ エンジンを提供しており、そのうちの1 つがインメモリ オプションであるメモリ ストレージ エンジンです。

Symfony2 アプリケーションを構成して、PDO に MySQL にメモリ ストレージ エンジンを使用するように指示するように指示するにはどうすればよいですか?

2つのケースで行いたいと思います。まず、各単体テストの前にデータベースを破棄して再構築する方が高速な操作になるように、テスト環境でこれを行いたいと思います。次に、データが比較的一時的な Symfony2 アプリケーションにこれを適用したいと思います。そのため、電源が失われたときにすべてのデータが失われても問題ありません。

次のアプリケーション構成例 (app/config/parameters.yml) の場合、メモリ ストレージ エンジンを使用するにはどのような変更を加える必要がありますか?

parameters:
    database_driver: pdo_mysql
    database_host: localhost
    database_port: null
    database_name: example
    database_user: user
    database_password: password
4

1 に答える 1

2

実際には、次のような方法でテーブルごとにエンジンの種類を指定できます。

@Table(name="table_name",options={"engine"="memory"})

これは、一時的な本番テーブルではうまく機能します。

環境に依存するもの (つまり、テストのみ) を取得するには、もう少し作業が必要です。メタデータをその場で変更することで、おそらくそれを行うことができます。それを行うためのいくつかのスレッド。

残念ながら、symfony 用のグローバル mysql エンジン属性はありません。少なくとも私が知る限り。

于 2013-07-30T14:47:53.213 に答える