我正在使用一个开源数据库。我正在尝试使用 DataMapper 将其映射到类,稍后我将更改模型驱动的近似值,而不是数据库驱动的近似值。
但首先我想以精确的方式映射开源数据库。该数据库是 PostgreSQL 数据库,在某些表中有些字段具有character
类型。
如何character
在 DataMapper 中映射类型?这种类型既不是原始类型,也不是 in dm-types
,也不是 in 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
具有长度集的类型。我回答问题的解决方案。