আপনার যদি কোনও তৈরি করার দরকার হয় user_id
তবে এটি একটি যুক্তিসঙ্গত অনুমান হবে যে আপনি কোনও ব্যবহারকারীর সারণি উল্লেখ করছেন। যে ক্ষেত্রে মাইগ্রেশন হবে:
rails generate migration AddUserRefToProducts user:references
এই আদেশটি নিম্নলিখিত স্থানান্তর তৈরি করবে:
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :user, :product, index: true
end
end
rake db:migrate
উভয় user_id
কলাম চলার পরে একটি সূচী products
টেবিলে যুক্ত হবে ।
যদি আপনাকে কেবল বিদ্যমান কলামে সূচি যোগ করতে হয়, যেমন name
একটি user
টেবিলের জন্য, নিম্নলিখিত কৌশলটি সহায়ক হতে পারে:
rails generate migration AddIndexToUsers name:string:index
নিম্নলিখিত স্থানান্তর তৈরি করবে:
class AddIndexToUsers < ActiveRecord::Migration
def change
add_column :users, :name, :string
add_index :users, :name
end
end
add_column
লাইন মুছুন এবং মাইগ্রেশন চালান।
বর্ণিত ক্ষেত্রে আপনি rails generate migration AddIndexIdToTable index_id:integer:index
কমান্ড জারি করতে পারতেন এবং তারপরে add_column
উত্পন্ন স্থানান্তর থেকে লাইন মুছতে পারেন । তবে আমি বরং প্রাথমিক মাইগ্রেশনটি পূর্বাবস্থায় ফেরা এবং পরিবর্তে রেফারেন্স যুক্ত করার পরামর্শ দিয়েছি:
rails generate migration RemoveUserIdFromProducts user_id:integer
rails generate migration AddUserRefToProducts user:references