mysql - Symfony2 应用程序如何使用 MySQL 内存存储引擎?

标签 mysql symfony

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/

相关文章:

php - 计算mysql查询

php - 为什么 mysqli fetch() 从 longtext 列返回空结果?

php - 如何在Wordpress中获取单个变量

Symfony2 : How can I use different parameters(. ini) 每个主机名?

php - Symfony 控制台 - 创建文件?

php - Doctrine - 多对多过滤结果

PHP WebSocket ZMQ - 聊天操作 - 向特定用户发送数据

mysql - 我在 Bluemix 上找不到 MySQL 服务

bash - 当在 Behat 上下文中作为 Symfony Process 运行时,使用 Expect 生成交互式 CLI 命令会提前以 0 退出

mysql - 我将如何正确构建该数据库?