【问题标题】:Doctrine message "Feature was deprecated" after doctrine:schema:update command在教义:架构:更新命令之后的教义消息“功能已被弃用”
【发布时间】:2022-01-04 14:48:00
【问题描述】:

当我尝试运行 php bin/console dictionary:schema:validate 或 php bin/console dictionary:schema:update -f: 时,我在红色框中收到此消息

“功能在教义/dbal 2.x 中已被弃用,并且已安装的教义/dbal:3.x 不支持,请参阅教义/弃用日志以了解新的替代方法。”

Symfony 5.3.12 教义2.7.1-DEV

任何想法我应该在哪里和什么搜索此消息?谢谢!

【问题讨论】:

标签: symfony doctrine


【解决方案1】:

我猜这些命令已被弃用,因为所有架构更改都应该经过迁移,因此 - 在代码中表示并在执行前进行审查。旧方法不能保证数据不会丢失(因为许多 schema:update 操作允许删除列并创建一个新列来重命名它而不迁移值)。

更新数据库架构的更好方法是使用 maker bundle 和迁移机制。

composer require symfony/maker-bundle --dev
composer require doctrine/doctrine-migrations-bundle

bin/cosnole make:migration 将根据代码中架构(注解、xml 或 yml)和当前数据库架构的差异生成迁移。

bin/console doctrine:migrations:migrate 将执行迁移。

因此,您将获得与运行 bin/console doctrine:schema:update -f 相同的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多