def with_foreign_key_recreation(&block)
alter_table :dynflow_actions do
drop_foreign_key [:execution_plan_uuid]
end
alter_table :dynflow_steps do
drop_foreign_key [:execution_plan_uuid]
drop_foreign_key [:execution_plan_uuid, :action_id], :name => :dynflow_steps_execution_plan_uuid_fkey1
end
alter_table :dynflow_delayed_plans do
drop_foreign_key [:execution_plan_uuid]
end
block.call
alter_table :dynflow_actions do
add_foreign_key [:execution_plan_uuid], :dynflow_execution_plans
end
alter_table :dynflow_steps do
add_foreign_key [:execution_plan_uuid], :dynflow_execution_plans
add_foreign_key [:execution_plan_uuid, :action_id], :dynflow_actions,
:name => :dynflow_steps_execution_plan_uuid_fkey1
end
alter_table :dynflow_delayed_plans do
add_foreign_key [:execution_plan_uuid], :dynflow_execution_plans,
:name => :dynflow_scheduled_plans_execution_plan_uuid_fkey
end
end