Я пытаюсь добавить новый столбец «широта» в существующую таблицу Postgres после столбца «location».PostgreSQL: add_column «после» использования параметра в миграции Rails
Используя этот синтаксис помещает колонку в нужном месте:
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: неверное число аргументов (5 для 3..4)"
«Не беспокоить», я подумал: «Я просто объединить заданы параметры!»:
add_column :table, :column, :decimal, {:precision => 10, :scale => 6, :after => :existing_column}
Но тогда столбцы появляются в конце таблицы. Что я делаю не так?
Спасибо :)
[Порядок столбцов совершенно не имеет отношения к реляционным базам данных] (http://stackoverflow.com/questions/1243547/how-to-add-a-new-column-in-a-table -after-the-2nd-or-3rd-column-in-the-table-usin) – dax
Да, я знаю об этом, но я вроде как поддерживаю связанные вещи вместе с точки зрения здравомыслия ... –
в методе 'add_column' нет такой опции': after =>: existing_column'. разрешенные параметры, которые вы можете найти в [документации для этого метода] (http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_column#637-Options) –