推动不向 MySql 查询中的字段名称添加单引号

Propel not adding single quote to fields name in MySql query

我有以下 mysql table:

CREATE TABLE `content_segments`
(
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `include` TINYINT(1) NOT NULL,
    `dimension` VARCHAR(50) NOT NULL,
    `media_type` VARCHAR(50) NOT NULL,
    `match` VARCHAR(50) NOT NULL,
    `content` TEXT NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=MyISAM;

问题是 match 字段是 MySQL 中的保留字,propel2 没有用单引号将字段名称括起来以转义保留字运行-时间(生成查询时)。 我想知道是否有为什么要强制推进使用单引号转义我所有的 table 字段以避免保留字错误。 我得到的错误是:

Unable to execute SELECT statement [SELECT id, include, dimension, media_type, match, content FROM content_segments WHERE id = :p0]

解决方案在 propel git 存储库的问题讨论中。

We have changed the way how identifier quoting is working. You need to activate it per database or per table:

<database ... identifierQuoting="true">
or
<table ... identifierQuoting="true">

正如问题评论中所述,相关的推进问题是 https://github.com/propelorm/Propel2/issues/781 for propel2