symfony - 如何使用自定义 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
但没有效果。
有人有想法吗?我被困在这个问题上的时间比我想承认的要长。
解决方案
看起来我错过了文档的一个重要部分:
# 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
从配置中删除。
推荐阅读
- javascript - Laravel 应用程序中未调用 Javascript 函数
- php - 在服务器中运行的 REST api 给出错误消息
- rust - 为什么 add_cart 抱怨错误?
- mongodb - 如何在 mongoose get 调用中包含 url 过滤器参数
- python - Pycharm 控制台对某些特殊字符串没有响应
- tcpdump - tcpreplay 不工作客户端不接收数据
- python - python socket.recv 未显示为文本
- ruby-on-rails - 如何使用 axlsx(Ruby on Rails)在 Excel 中显示动态列数?
- php - 如何在 Wordpress 中覆盖 PHP 文件?
- python-3.x - 滑动窗口和识别列表中的特定字符