我必须使用Rails迁移创建数据库模式。是否可以在Rails迁移中使用自定义列类型?
我有很多列包含数量(公斤)和价格(货币)。
目前我使用这个:
t.column :quantity, :decimal, :precision => 6, :scale => 3
t.column :value, :decimal, :precision => 6, :scale => 2
在发电机呼叫我用quantity:decimal
识别我的专栏。然后我手动将生成的t.decimal
行更改为上面的行。
我不喜欢这样,因为在每次生成迁移后,我都必须手动编辑迁移脚本,并且担心DRY。 (如果价格已包含四个而非两位小数?)
是否有可能创造我可以在迁移,甚至发电机使用自定义字段类型,就像这样:
t.quantity :quantity
t.price :value
PS:我是Rails noob,如果这是一个愚蠢的问题,我很抱歉。
你是什么意思“手动必须修复迁移脚本”? – hgmnz 2009-09-20 14:38:21
现在我只是在生成器调用中使用“数量:十进制”。然后,我必须编辑生成的迁移脚本,并将“t.decimal:quantity”更改为上面的示例。 (使用通用列类型,添加精度参数) – 2009-09-20 14:43:28