o zaman bir kullanıcı tablosuna başvurmak mantıklı bir varsayım olurdu.
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :user, :product, index: true
end
end
rake db:migrate
bir sütun hem çalıştırdıktan sonra ve bir dizin product
tabloya eklenecek:
rails generate migration AddUserRefToProducts user:references
Bu komut aşağıdaki göç üretecektir: Bu durumda göç olacaktır.
durumda, sadece mevcut bir sütunun, örneğin bir indeks eklemek gerekir Bir user
tablonun name
aşağıdaki tekniğin yardımcı olabilir:
rails generate migration AddIndexToUsers name:string:index
aşağıdaki göç oluşturur:
class AddIndexToUsers < ActiveRecord::Migration
def change
add_column :users, :name, :string
add_index :users, :name
end
end
add_column
satırı silin ve taşıma işlemi başlatın.
Açıklanan durumda, rails generate migration AddIndexIdToTable index_id:integer:index
komutunu vermiş olabilirsiniz ve oluşturulan geçişten add_column
satırını silebilirsiniz. Bunu başlatabilir gelecekte genel bir dizin eklemek gerekirse
rails generate migration AddUserIdColumnToTable user:references
çağırabilir
rails generate migration RemoveUserIdFromProducts user_id:integer
rails generate migration AddUserRefToProducts user:references
Bu yüzden sadece konsolumda çalışıyorum: raylar AddIndexToTable geçişini mi oluşturur? – user1611830
Evet, bunu yapabilirsiniz, ancak yukarıdaki kodu yansıtmak için bu geçişi düzenlemeniz gerekir. –
evet, teşekkürler! – user1611830