রেক ডিবি ব্যবহার করে কীভাবে কেবল এক ধাপ রোলব্যাক করবেন: মাইগ্রেট করুন


196

db/migrateফোল্ডারে মাইগ্রেশন ফাইল যুক্ত করার পরে এবং চলার পরে rake db:migrate, আমি আগের ধাপে ফিরে যেতে চাই, আমার মনে VERSION=nহয় এটি করা সঠিক উপায়, তবে আমি এন এর সঠিক মানটি জানি না। বর্তমান এন মান পরীক্ষা করার জন্য কোন আদেশ আছে?

যদি কেউ কীভাবে ব্যবহার করতে হয় তার সম্পূর্ণ নির্দেশনা সরবরাহ করতে পারলে দুর্দান্ত হবে rake db:migrate

উত্তর:


354

নতুনদের জন্য

rake db:rollback আপনাকে এক পদক্ষেপ ফিরিয়ে আনবে

তারপর

rake db:rollback STEP=n

আপনাকে nমাইগ্রেশনগুলিতে ফিরিয়ে আনবে যেখানে nআপনি রোলব্যাক করতে চান এমন সাম্প্রতিক মাইগ্রেশনগুলির সংখ্যা।

আরও রেফারেন্স এখানে


95

সর্বাধিক সাম্প্রতিক স্থানান্তর ফিরে রোল:

rake db:rollback

nসর্বাধিক সাম্প্রতিক স্থানান্তরগুলি রোল করুন :

rake db:rollback STEP=n

চলমান মাইগ্রেশন পরিচালনার জন্য রেল গাইডে রেকের জন্য রেল স্থানান্তরের কাজগুলি সম্পর্কে সম্পূর্ণ নির্দেশাবলী খুঁজে পেতে পারেন ।


এখানে আরও কিছু রয়েছে:

  • rake db:migrate - ইতিমধ্যে চালানো হয়নি এমন সমস্ত মাইগ্রেশন চালান
  • rake db:migrate VERSION=20080906120000 - প্রদত্ত সংস্করণে পেতে প্রয়োজনীয় সমস্ত স্থানান্তর (উপরে বা নীচে) চালান
  • rake db:migrate RAILS_ENV=test - প্রদত্ত পরিবেশে মাইগ্রেশন চালান
  • rake db:migrate:redo - একটি স্থানান্তর পিছনে রোল করুন এবং এটিকে আবার চালান
  • rake db:migrate:redo STEP=n- সর্বশেষ nস্থানান্তরগুলি রোল করুন এবং এগুলি আবার চালান
  • rake db:migrate:up VERSION=20080906120000- upপ্রদত্ত স্থানান্তরের জন্য পদ্ধতিটি চালান
  • rake db:migrate:down VERSION=20080906120000- downপ্রদত্ত স্থানান্তরের জন্য পদ্ধতিটি চালান

এবং মাইগ্রেশনের সংস্করণ নম্বরটি আপনি কোথা থেকে পাবেন সে সম্পর্কে আপনার প্রশ্নের উত্তর দিতে:

সংস্করণটি হ'ল মাইগ্রেশনের ফাইলনামের সংখ্যাসূচক উপসর্গ। উদাহরণস্বরূপ, 20080906120000 রান সংস্করণে স্থানান্তরিত করতে

$ rake db:migrate VERSION=20080906120000

( রেল গাইডগুলিতে মাইগ্রেশন চালানো থেকে )


2
যখন রেক ডিবি: রোলব্যাক সর্বাধিক সাম্প্রতিক মাইগ্রেশন রোলব্যাক করার কাজ করছে না, আমাকে রেক ডিবি ব্যবহার করতে হয়েছিল: ভার্সন = <দ্বিতীয় শেষ সংস্করণের তারিখ> স্থানান্তরিত করুন
ওমনি ২

8

ডাউন বা উপরে (রেলের মধ্যে 4.. এটি পরিবর্তন হয়েছে) ব্যবহার করে সর্বোত্তম উপায় আবার বিশেষ মাইগ্রেশন চালাচ্ছে)

রেলস ডিবি: মাইগ্রেট করুন: আপ VERSION = টাইমস্ট্যাম্প

এখন আপনি কিভাবে টাইমস্ট্যাম্প পাবেন। এই পথে যান

/ ডিবি / স্থানান্তরণের

আপনি রিভার্ট করতে চান মাইগ্রেশন ফাইলটি সনাক্ত করুন that ফাইলের নাম থেকে টাইমস্ট্যাম্পটি চয়ন করুন।


যদিও এটি প্রশ্নের উত্তর দেয় না, এটি সত্যই সেরা উপায়। পদক্ষেপে পিছনে ঘুরিয়ে ভুল হতে পারে, বিশেষত কোনও গ্রুপে সফ্টওয়্যার কাজ করার সময়।
ইস্পাত 21

5

সংস্করণটি যদি হয় 20150616132425তবে ব্যবহার করুন:

rails db:migrate:down VERSION=20150616132425

1

অন্যান্য ব্যক্তিরা ইতিমধ্যে কীভাবে রোলব্যাক করবেন সে সম্পর্কে আপনাকে উত্তর দিয়েছে, তবে আপনি কীভাবে কোনও মাইগ্রেশনের সংস্করণ নম্বর সনাক্ত করতে পারবেন তাও জিজ্ঞাসা করেছিলেন।

  • rake db:migrate:status আপনার স্থানান্তর সংস্করণ, নাম এবং স্থিতির (উপরে বা নীচে) একটি তালিকা দেয়
  • আপনি মাইগ্রেশন ফাইলও খুঁজে পেতে পারেন যা ফাইলের একটি টাইমস্ট্যাম্প ধারণ করে, এটি সংস্করণ নম্বর। মাইগ্রেশন ফোল্ডারে অবস্থিত:/db/migrate

যাইহোক আপনি যদি স্ট্যাটাস কমান্ডটি চালান, আপনি দেখতে পেতে পারেন এর মতো লাইনগুলি: ********** কোনও ফাইল নেই ********** আপনি যদি ব্যবহার করেন তবে এই বর্তমান স্থানগুলি আপনার বর্তমান শাখায় বিদ্যমান নেই Git।
বাজর্নেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.