php - 交响乐 2 : How to avoid the sessions table being dropped by doctrine migrations?

标签 php doctrine-orm symfony

我是迁移的新手,我正在努力坚持使用自动生成的迁移:

$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate

问题是这会删除我的 session 表。我该怎么做才能避免这种情况?

最佳答案

另一种选择是简单地告诉 Doctrine 忽略该表。您可以使用 schema_filter 选项,如 this SO post 中所述。 .

因此,如果您的表名为 sessions,请将以下内容添加到 config.yml(Symfony < 4)或 doctrine.yaml( Symfony >=4 ):

doctrine:
    dbal:
      # standard database config here
      schema_filter: ~^(?!sessions)~

我们有大量的表需要忽略,所以我们采取了相反的方法——我们告诉 Doctrine 只考虑以特定前缀开头的表,并设置监听器以确保我们所有的 Doctrine 管理的表都有一个前缀。在 http://docs.doctrine-project.org/en/latest/cookbook/sql-table-prefixes.html 中记录了表前缀监听器的使用并且有一篇关于它的 Symfony 方面的 SO 帖子 here .

关于php - 交响乐 2 : How to avoid the sessions table being dropped by doctrine migrations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622193/

相关文章:

php - 包含带有重音符号或字符的文本的 XPath 元素选择

symfony - 在实体刷新时创建实体

php - mb_convert_case 未定义函数(Symfony2 FOS/UserBundle)

PHP explode 然后双循环

javascript - 数组存在并已填充,但无法访问 AJAX 响应上的各个元素

php - Symfony2 Doctrine 抛出 NonUniqueResultException

php - Twig 和 Symfony2 - 找不到实体

logging - Symfony2 日志中由 "OPTIONS"http 请求引起的 404 错误

php - MySQL 基础问题 : how to get rows from one table that are not in another table?

php - MySQL::connect() 数据库连接失败?