0
다른 프로그램에서 사용하는 MySQL 테이블에서 작업하고 있습니다. 내가하고 싶은 일은 Sinatra와 DataMapper를 사용하여이 데이터베이스의 웹 인터페이스를 구축하는 것입니다. 그러나 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