我正在使用开源数据库。我正在尝试使用DataMapper将其映射到类,稍后我将在模型驱动的近似中进行更改而不是数据库驱动的近似。
但首先我想以一种精确的方式映射开源数据库。该数据库是PostgreSQL数据库,在某些表中有一些character
类型的字段。
如何在DataMapper中映射character
类型?这种类型不在primitive types,也不在dm-types
,也不在dm-types-legacy
。
如果它提供了更多信息,实际上我并不是手工编写模型,而是使用dm-is-reflective
,它会自动映射现有的数据库表。它给了我以下错误:
/var/lib/gems/1.9.1/gems/dm-is-reflective-1.0.0/lib/dm-is-reflective/is/adapters/data_objects_adapter.rb:141:in `reflective_lookup_primitive': bpchar not found for DataMapper::Adapters::PostgresAdapter (TypeError)
修改
这是dm-is-reflective
而不是datamapper
核心的问题,它可以与char
类型一起使用,作为String
类型并设置长度。我回答问题的解决方案。
答案 0 :(得分:0)
dm-is-reflective
工作的人很快解决了这个问题:)非常感谢他!
https://github.com/godfat/dm-is-reflective/issues/3#issuecomment-5726650