我一直在将旧的Symfony 3应用程序迁移到Symfony 4.3。在旧版本中,有一个自定义SQLite驱动程序,该驱动程序扩展了Doctrine版本1并提供了“赞”功能。
根据documentation,我仍然应该可以:
doctrine:
dbal:
driver: pdo_sqlite
url: "%env(resolve:DATABASE_URL)%"
driver_class: App\DBAL\MyDatabaseDriver
但是,绝对绝对不会调用该驱动程序。我已经连接了调试器,并且没有调用App\DBAL\MyDatabaseDriver
类。而是调用了Doctrine\DBAL\Driver\PDOSqlite\Driver
。
我已尝试移除driver:
,仅保留driver_class
,但没有任何效果。
有人有想法吗?我被困在这里的时间超过了我想承认的时间。
似乎我已经错过了文档的重要部分:
# if the url option is specified, it will override the above config
url: mysql://db_user:[email protected]:3306/db_name
换句话说,正确的方法是:
DATABASE_URL=sqlite:///:memory:?driverClass=App\DBAL\MyDatabaseDriver
并从配置中删除driver_class
。