как изменить положение нового столбца в rails 3.x миграции - PullRequest
4 голосов
/ 28 января 2012

Я создал миграцию, которая просто добавляет новый столбец, но я хочу, чтобы он был добавлен перед столбцами create_at и updated_at. Можно ли указать, в какой позиции создается новый столбец?

Я искал и нашел только кого-то, говорящего об использовании опции: after в add_column, но он ничего не делает. потом я посмотрел в rails api docs и не нашел такой опции.

Ответы [ 2 ]

5 голосов
/ 28 января 2012

После того, как опция работает хорошо для меня

add_column :table_name, :column_name, :type, :after => :column_name

Также посмотрите на этот вопрос .

2 голосов
/ 18 декабря 2015

Из моего исследования опция :after не работает для SQLite или Postgres , поскольку эти СУБД не допускают такую ​​операцию.Однако эта опция работает для MySQL .

Ссылки:

  1. SQLite: https://www.sqlite.org/lang_altertable.html - это в основном говорит вам о созданииновая таблица с правильным порядком столбцов, затем скопируйте данные.

  2. Postgres: https://wiki.postgresql.org/wiki/Alter_column_position

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...