rails make from false down create column ruby-on-rails ruby-on-rails-3 activerecord

ruby-on-rails - make - rails migration up down



Añadir columna de ID en una migración (3)

Tengo una aplicación Rails, donde uno de los modelos no tiene la columna de id . Investigando un poco encontré la migración que lo creó:

create_table(:the_model, :id => false) do |t| # columns end

Ahora, en una nueva migración, quiero agregar la columna de id de una manera estándar de Rails (sin usar SQL de base de datos específica). ¿Cómo puedo hacer eso?

Ya probé esto sin éxito:

change_table(:the_model, :id => true) do |t| end


No es necesario mencionar :integer

rails g migration add_id_to_model id:primary_key funcionó para mí.


Puede agregar manualmente la columna id:

add_column :table_name, :id, :primary_key

o borre (o realice una copia de seguridad) de sus datos, vuelva a esta migración, elimine la opción :id => false y vuelva a migrar.


Ya tienes tu respuesta, pero aquí hay una sola línea que hace todo en este caso

rails generate migration AddIdToModel id:integer

Mire la sintaxis del nombre del archivo de migración Agregar nombreColumna a Nombre de tabla siguiendo la descripción de la columna. Se generará algo como abajo.

class AddIdToModel < ActiveRecord::Migration def change add_column :models, :id, :integer end end

Ahora puedes cambiar esta línea si sientes algo más. y simplemente ejecuta rake db:migrate .