我正在尝试将 ActiveJDBC 与旧数据库一起使用,其中表和列的名称中通常包含连字符。这适用于SELECT
s ,因为我可以引用标识符(例如Model.where("\"stupid-name\" = ?", 1)
)。INSERT/UPDATE 出现问题,因为生成的 SQLDefaultDialect
没有引用标识符。
我正在考虑为这种数据库类型(它是 Progress OpenEdge BTW)实现自定义方言,但我首先有几个问题:
- 在上游 ActiveJDBC 中是否会欢迎为此类数据库(封闭源代码,需要许可证 AFAICT)贡献方言?
- 如果没有,我可以使用外部维护的方言吗?
- 使用带引号的标识符的更改对其他数据库类型也有用吗?