【问题标题】:Doctrine DBAL type boolean for SQLiteSQLite 的 Doctrine DBAL 类型布尔值
【发布时间】:2016-07-04 13:20:57
【问题描述】:

我在 SQLite 中使用布尔类型时遇到问题。错误信息是:

致命错误:未捕获的异常“Doctrine\DBAL\DBALException”与 message '未知的数据库类型 bool 请求, Doctrine\DBAL\Platforms\SqlitePlatform 可能不支持。'

连接到 SQLite 数据库时发生错误。数据库模式只是这里的默认值:https://doc.powerdns.com/md/authoritative/backend-generic-sqlite/

我该如何解决这个问题?我在 Google/Stackoverflow 上找不到任何东西。

【问题讨论】:

  • 如果您对我的问题投反对票,请告诉我原因,以便我解释不清楚的地方并添加缺失的信息!谢谢!

标签: php sqlite doctrine-orm doctrine


【解决方案1】:

根据Doctrine\DBAL\Platforms\SqlitePlatform API,布尔类型被定义为'BOOLEAN'(我确信它不区分大小写)而不是'bool'。

【讨论】:

    【解决方案2】:

    您正在使用 Doctrine,因此您也应该使用它来为您设置数据库结构。因此,不要自己运行这些“创建表”语句,而是使用下面适用于您的用例的解决方案。

    如果您使用 Doctrine ORM,请按照此处所述设置实体类:Basic Mapping

    如果你使用 Doctrine DBAL 没有 ORM,你应该像这样设置数据库结构: Schema-Representation

    【讨论】:

    • 总的来说,我支持你,因为这个模式对于每个数据库驱动程序都是不同的,而且 PowerDNS 是强制性的,我们的管理软件不会提供它。我们的软件不会更改此架构上的任何内容,只是检查它是否存在。
    猜你喜欢
    • 2015-09-13
    • 2017-04-07
    • 2014-01-27
    • 1970-01-01
    • 2021-01-22
    • 2016-04-16
    • 2016-04-13
    • 1970-01-01
    • 2015-09-25
    相关资源
    最近更新 更多