symfony - 如何修改 Doctrine :migrations:diff?

标签 symfony doctrine-orm doctrine migration

我想修改doctrine:migrations:diff命令,因为当我运行它时,生成的代码很糟糕,所以我想编辑配置文件,但我不知道它在哪里。

错误代码示例:

    public function up(Schema $schema)
    {
        // this up() migration is auto-generated, please modify it to your needs
        $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.');

        $this->addSql('DROP TABLE sessions');
        //More sql
    }

还有很多没有修改的sql语句出现。

最佳答案

您可以配置doctrine/dbal来忽略 session 表(可能是因为您使用PdoSessionHandler在数据库中存储 session )。

在 config.yml 中添加以下行:

doctrine:
  dbal:
    schema_filter: ~^(?!sessions)~
    .....

看看 DoctrineMigrationBundle symfony 网站上的文档

关于symfony - 如何修改 Doctrine :migrations:diff?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37676226/

相关文章:

Symfony 4 webpack + encore 处理模板中的图像

symfony - 起始页和登录成功后的页面

php - 使用 PayumBundle 注册自定义网关

php - 与自定义字段名称的学说 2 manytoone 关系

php - 优先考虑存储库中的 MySQL SELECT/LIKE 结果

php - Doctrine 可指责的扩展 'on change' 不起作用

php - Doctrine entitymanager clear 不完全清楚

php - 在 Zend Framework 2 中生成具有多个数据库连接的 Doctrine 2 实体

database - 创建数据库时出现 Doctrine 错误 : Access denied for user

php - Doctrine1 和 Doctrine2 之间有什么区别?