我一直在将一个旧的Symfony 3应用程序迁移到Symfony 4.3。在旧的驱动程序中,有一个自定义的SQLite驱动程序,它扩展了Doctrine驱动程序,并提供了"类似"功能。
根据文件,我仍然可以做:
doctrine:
dbal:
driver: pdo_sqlite
url: "%env(resolve:DATABASE_URL)%"
driver_class: AppDBALMyDatabaseDriver
然而,司机肯定根本没有被叫到。我已经附加了一个调试器,但没有调用AppDBALMyDatabaseDriver
类。相反,正在调用DoctrineDBALDriverPDOSqliteDriver
。
我试过去掉driver:
,只留下driver_class
,但没有效果。
有人有想法吗?我陷入这种困境的时间比我愿意承认的要长。
看起来我错过了文档的一个重要部分:
# if the url option is specified, it will override the above config
url: mysql://db_user:db_password@127.0.0.1:3306/db_name
换句话说,正确的方法是:
DATABASE_URL=sqlite:///:memory:?driverClass=AppDBALMyDatabaseDriver
并从配置中移除CCD_ 5。