Ho questa tabella:cambio di nome della colonna Rails
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
end
end
colonna 'stagione' dovrebbe essere chiamato 'season_id'. So che devo scrivere "t.rename: season,: season_id" come spiegato in http://edgeguides.rubyonrails.org/active_record_migrations.html#column-modifiers ma non riesco a trovare la sintassi corretta. Dovrebbe essere?
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
change_table :products do |t|
t.rename :season, :season_id
end
end
end
Non funziona. Qualcosa che devo fare nella console del Mac? Grazie!
Perché lo si rinomina nella stessa migrazione? O rollback e aggiustarlo in 'create_table', o creare una nuova migrazione. Puoi anche scrivere 'rename_column: shoes,: season,: season_id' invece di metterlo in un blocco. –
Non so bene cosa sto facendo. apprendimento :) ho dimenticato di aggiungere che la tabella contiene dati. creare una nuova migrazione significa un nuovo "cambiamento di colpa"? thx – Pere
Significa una nuova migrazione che ha il proprio metodo 'change'. –