বর্ণানুক্রমিক ক্রমে আপনাকে কেবল একটি restaurant_idএবং user_id(কোনও প্রাথমিক কী নয়) দিয়ে পৃথক যোগদানের টেবিল যুক্ত করতে হবে ।
প্রথমে আপনার স্থানান্তর চালান, তারপরে উত্পন্ন মাইগ্রেশন ফাইল সম্পাদনা করুন।
রেল 3
rails g migration create_restaurants_users_table
রেল 4 :
rails g migration create_restaurants_users
রেল 5
rails g migration CreateJoinTableRestaurantUser restaurants users
ডক্স থেকে :
এখানে এমন একটি জেনারেটর রয়েছে যা জয়েন্ট টেবিলের অংশের অংশ হলে জোড় টেবিল তৈরি করবে:
আপনার মাইগ্রেশন ফাইল (নোট করুন :id => false; এটিই প্রাথমিক কী তৈরিতে বাধা দেয়):
রেল 3
class CreateRestaurantsUsers < ActiveRecord::Migration
def self.up
create_table :restaurants_users, :id => false do |t|
t.references :restaurant
t.references :user
end
add_index :restaurants_users, [:restaurant_id, :user_id]
add_index :restaurants_users, :user_id
end
def self.down
drop_table :restaurants_users
end
end
রেল 4
class CreateRestaurantsUsers < ActiveRecord::Migration
def change
create_table :restaurants_users, id: false do |t|
t.belongs_to :restaurant
t.belongs_to :user
end
end
end
t.belongs_toস্বয়ংক্রিয়ভাবে প্রয়োজনীয় সূচকগুলি তৈরি করবে। def changeএকটি ফরোয়ার্ড বা রোলব্যাক স্থানান্তর স্বয়ংক্রিয়ভাবে সনাক্ত করবে, উপরে / ডাউনের প্রয়োজন হবে না।
রেল 5
create_join_table :restaurants, :users do |t|
t.index [:restaurant_id, :user_id]
end
দ্রষ্টব্য: একটি কাস্টম টেবিল নামের জন্য একটি অপশনও রয়েছে যা তৈরি_জয়েন_ টেবিল তৈরি করতে প্যারামিটার হিসাবে পাস হতে পারে table_name। ডক্স থেকে
ডিফল্টরূপে, যোগদানের সারণির নাম বর্ণমালা অনুসারে তৈরি_জয়াইন_সেবযোগ্য প্রদান করা প্রথম দুটি যুক্তির মিল থেকে আসে union সারণীর নাম কাস্টমাইজ করতে, একটি: টেবিল_নাম বিকল্প সরবরাহ করুন: