mam migrację folowing ale nie wiem, co do wykorzystania w metodzieCo to jest migracja w dół do dodawania polimorficzny odniesienie
change_table :addresses do |t|
t.references :addressable, :polymorphic => true
end
mam migrację folowing ale nie wiem, co do wykorzystania w metodzieCo to jest migracja w dół do dodawania polimorficzny odniesienie
change_table :addresses do |t|
t.references :addressable, :polymorphic => true
end
Na czym polega problem?
def self.down
remove_column :addresses, :addressable_type
remove_column :addresses, :addressable_id
end
Co jest nie tak z tym down
?
def self.down
remove_column :addresses, :addressable
end
właściwie
change_table :addresses do |t|
t.remove_references :addressable
end
byłoby nieco railsier, nie?
edit: Jak Eben Geer zaznacza
change_table :addresses do |t|
t.remove_references :addressable, :polymorphic => true
end
jest poprawny sposób to zrobić. Twoje zdrowie!
spowoduje to, że kolumna addressable_type pozostanie w tyle. powinno to być t.remove_references: addressable,: polymorphic => true –
Chciałbym przegłosować tę odpowiedź, jeśli zawiera on @EbenGeer jego komentarz – Arjan
def self.down
change_table :addresses do |t|
t.remove_references :addressable, :polymorphic => true
end
end
class RemoveAddressableFromAddresses < ActiveRecord::Migration
def change
remove_reference :addresses, :addressable, polymorphic: true, index: true
end
end
Proszę poświęć chwilę, aby wyjaśnić, co robi twój kod i jak odpowiada na to pytanie. – Bond
mówisz: remove_column: addresses,: addressable is not correct? – Damian
tak ... to jest właściwe rozwiązanie – amitkaz
Damian: nie, po prostu spójrz na tabelę za pomocą przeglądarki SQL, a zobaczysz dwie kolumny. –