【发布时间】:2015-01-28 14:58:08
【问题描述】:
我正在尝试在现有 Postgres 表的“位置”列之后添加一个新列“纬度”。
使用此语法将列放置在正确的位置:
add_column :table, :column, :decimal, :after => :existing_column
并且使用这种语法可以确保字段是正确的数据类型
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}
但是当我尝试将两者结合起来时:
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}, :after => :existing_column
我得到“ArgumentError:参数数量错误(3..4 为 5)”
“别担心”,我想,“我将把争论结合起来!”:
add_column :table, :column, :decimal, {:precision => 10, :scale => 6, :after => :existing_column}
但随后列出现在表格的末尾。我做错了什么?
谢谢:)
【问题讨论】:
-
是的,我知道这一点,但从理智的角度来看,我有点喜欢将相关的东西放在一起......
-
在
add_column方法中没有这样的选项:after => :existing_column。您可以在 documentation for this method 中找到允许的选项 -
@Зелёный 有这样的选项。我在带有 MySQL 的 Rails 3.1 项目中使用了它,它运行良好。
-
@RustamA.Gasanov 请向我展示此选项的文档。
标签: ruby-on-rails postgresql hash database-migration