В общем, вы не можете, и вам все равно.Таблицы в реляционных базах данных на самом деле не имеют определенного порядка;Вот почему вы всегда должны указывать столбцы, когда вставляете, и никогда не говорите что-то вроде select * ...
(да, ActiveRecord делает это, но это не значит, что это хорошая идея, просто потому что AR прыгает со скалы,это означает, что вы должны и т. д.).
Если вы настаиваете на попытке выполнить для нее работу базы данных, то переносимый способ:
- Скопируйте или переименуйте таблицу в другую таблицу.
- Удалите оригинал (если вы не переименовали в (1)).
- Создайте новую таблицу со столбцами в нужном вам порядке.
- Надеемся, что база данных обратит вниманиеВаш заказ в (3).
- Скопируйте данные из таблицы в (1) в "новую" таблицу из (3).
- ...
- Прибыль.
Если вы используете адаптеры баз данных MySQL или MySQL2, вы можете использовать опцию :after => :some_column
до add_column
.Если вы используете SQLite или PostgreSQL, то посмотрите способ переноса выше.Если вы используете что-то еще, вам придется прочитать документацию или исходный код адаптера, чтобы узнать, что поддерживается.
Но вы должны спросить себя, почему вы думаете, что хотите это сделать, прежде чем продолжить.