0
私は別のプログラムで使用されているMySQLテーブルを作成しています。私がしたいことは、SinatraとDataMapperを使ってこのデータベース用のWebインターフェイスを構築することです。しかし、DataMapperモデルでプロパティを宣言すると、命名規則に問題が発生します。DataMapperの命名規則が既存のMySQLテーブルと衝突する
たとえば、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