【发布时间】:2012-02-14 21:20:58
【问题描述】:
我正在处理另一个程序使用的 MySQL 表。我想做的是用 Sinatra 和 DataMapper 为这个数据库建立一个 Web 界面。但是,当我在 DataMapper 模型中声明我的属性时,我遇到了一些命名约定问题。
例如,MySQL表中的字段是ControlStationID,我是这样声明的,但是当DataMapper运行时,它将它更改为control_station_id。无论如何我可以纠正这个?我无法更改表结构。
谢谢。
看到的错误:
DataObjects::SQLError: Unknown column 'control_station_id' in 'field list' (code: 1054, sql state: 42S22, query: SELECT `id`, `control_station_id` FROM `returnmessage` ORDER BY `id`)
MySQL 表结构
mysql> show fields from returnmessage;
+-------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+----------------+
| ID | bigint(20) | NO | PRI | NULL | auto_increment |
| ControlStationID | int(11) | YES | | NULL | |
+-------------------+---------------+------+-----+---------+----------------+
我的代码
class ReturnMessage
include DataMapper::Resource
property :ID, Serial
property :ControlStationID, Integer
end
repository(:default).adapter.resource_naming_convention = lambda do |value|
value.downcase
end
【问题讨论】:
标签: ruby datamapper