إنشاء ترحيلات قابلة للتكرار بأمان (Idempotent Migrations)
13 أكتوبر 2020
عندما تكتبون ترحيلات تحذف بيانات أو هياكل، استخدموا if_exists: true عند حذف جدول، وتحققوا من وجود الجدول عند إضافة عمود أو حذفه باستخدام ActiveRecord::Base.connection.table_exists?
الحالة 1:
def up
drop_table :kittens, if_exists: true
end
الحالة 2:
def up
return unless ActiveRecord::Base.connection.table_exists?(:kittens)
add_column :kittens, :kind, :integer
end