ruby-on-rails - PostgreSQL:在 Rails 迁移中使用 add_column "after"选项

标签 ruby-on-rails postgresql hash database-migration

我正在尝试向现有 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}

但是随后列出现在表格的末尾。我做错了什么?

谢谢:)

最佳答案

你最后的定义是正确的。但这里的问题不在于 Rails,而在于 PostgreSQL,它不允许在特定位置添加列。阅读更多:How can I specify the position for a new column in PostgreSQL?

关于ruby-on-rails - PostgreSQL:在 Rails 迁移中使用 add_column "after"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214251/

相关文章:

ruby-on-rails - rails : Tight coupling between deeply nested models: how to uncouple them for tests and DB efficiency?

php - 对子域或目录使用哈希码 Cookie

postgresql - Postgres 跨多个磁盘分布数据

Git哈希重复项

javascript - nodejs 一致性哈希库

ruby-on-rails - 如何在 Rails 4 中创建优惠券代码生成器

ruby-on-rails - Ruby 2.1.0/2.1.1/2.1.2 不支持调试器 gem

ruby-on-rails - Rails 服务器错误,在 requests.accepts : "[\"\\xE2\\x80\\x8B/\\xE2\\x80\\x8B\"]" 中有奇怪的符号

python - 使用 Dask 从 postgresql 导入数据

postgresql - pgp_sym_encrypt/pgp_sym_decrypt 错误处理