MySQL 提供了一系列 storage engines其中是 memory storage engine这是一个内存选项。
我如何配置 Symfony2 应用程序让它告诉 PDO 告诉 MySQL 使用内存存储引擎?
我想在两种情况下这样做。首先,我想为测试环境执行此操作,以便在每个单元测试之前拆除和重建数据库是一个更快的操作。其次,我想将其应用于数据相对 transient 的 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
最佳答案
您实际上可以为每个表指定引擎类型,例如:
@Table(name="table_name",options={"engine"="memory"})
这对您的临时生产表来说效果很好。
要获得依赖于环境的东西(即仅测试)需要更多的工作。您可能可以通过即时修改元数据来做到这一点。关于这样做的几个线程。
遗憾的是,symfony 没有全局 mysql 引擎属性。至少据我所知。
关于mysql - Symfony2 应用程序如何使用 MySQL 内存存储引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949802/