首页 > 解决方案 > 如何使用自定义 SQLite 驱动程序配置 Symfony 4?

问题描述

我一直在将旧的 Symfony 3 应用程序迁移到 Symfony 4.3。在旧版本中,有一个自定义 SQLite 驱动程序,它扩展了 Doctrine one 并提供了“like”功能。

根据文档,我仍然应该能够做到:

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但没有效果。

有人有想法吗?我被困在这个问题上的时间比我想承认的要长。

标签: symfonydoctrine

解决方案


看起来我错过了文档的一个重要部分:

# 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=App\DBAL\MyDatabaseDriver

driver_class从配置中删除。


推荐阅读