rails g model Rating user_id:integer message:string value:integer
আমি কীভাবে এই মডেলটি পুরোপুরি সরিয়ে ফেলব? ধন্যবাদ
rails g model Rating user_id:integer message:string value:integer
আমি কীভাবে এই মডেলটি পুরোপুরি সরিয়ে ফেলব? ধন্যবাদ
উত্তর:
bundle exec rake db:rollback
rails destroy model <model_name>
আপনি যখন কোনও মডেল তৈরি করেন, এটি একটি ডাটাবেস স্থানান্তর তৈরি করে। আপনি যদি সেই মডেলটিতে 'ধ্বংস' চালান, এটি স্থানান্তর ফাইলটি মুছে ফেলবে, তবে ডাটাবেস সারণি নয়। সুতরাং রান আগে
bundle exec rake db:rollback
bundle exec rake db:drop db:create db:migrate
। এটি একটি নতুন খালি ডাটাবেস হবে।
ভবিষ্যতের প্রশ্নকারীদের জন্য: আপনি যদি কনসোল থেকে টেবিলগুলি ফেলে দিতে না পারেন তবে এমন কোনও স্থানান্তর তৈরি করার চেষ্টা করুন যা আপনার জন্য টেবিলগুলি ফেলে দেয়। আপনার স্থানান্তর তৈরি করা উচিত এবং তারপরে ফাইল নোট টেবিলগুলিতে আপনি এইভাবে নামাতে চান:
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
এখানে জেনি ল্যাং-এর উত্তরের একটি আলাদা বাস্তবায়ন রয়েছে যা রেল 5 এর জন্য কাজ করে।
প্রথমে মাইগ্রেশন ফাইলটি তৈরি করুন:
bundle exec be rails g migration DropEpisodes
তারপরে মাইগ্রেশন ফাইলটি নিম্নরূপে পপুলেট করুন:
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
দৌড়ানো rails db:migrate
টেবিলটি নামবে। আপনি যদি চালনা করেন তবে rails db:rollback
রেলগুলি একটি ActiveRecord::IrreversibleMigration
ত্রুটি নিক্ষেপ করবে ।