Digamos que crea una tabla en una migración rieles, especificando omitir la columna ID:En una migración de Rails, ¿es posible indicar que una columna recién agregada debería estar antes o después de una columna existente en la tabla?
create_table :categories_posts, :id => false do |t|
t.column :category_id, :integer, :null => false
t.column :post_id, :integer, :null => false
end
tarde decido que quiero añadir una columna de ID como clave principal por lo que se crea una nueva migración:
class ChangeCategoriesToRichJoin < ActiveRecord::Migration
def self.up
add_column :categories_posts, :id, :primary_key
end
def self.down
remove_column :categories_posts, :id
end
end
Pero cuando miro a la mesa después de migrar, que se parece a esto:
columnacategory_id
post_id
id
la identificación se encuentra en la última posición de la tabla, mientras que no se rmalmente, una columna de identificación sería la primera.
¿Hay alguna manera de cambiar la migración de ChangeCategoriesToRichJoin para insistir en que se cree la columna de ID ANTES de la columna category_id en la tabla?
¿Debo dejar caer la tabla y agregar la columna en la definición "crear tabla"?
Esa fue mi sospecha. Gracias por confirmar. –