48 lines
1.4 KiB
Ruby
48 lines
1.4 KiB
Ruby
|
class UpdateModuleAPICarto < ActiveRecord::Migration
|
||
|
|
||
|
class Procedure < ActiveRecord::Base
|
||
|
|
||
|
end
|
||
|
|
||
|
class ModuleAPICarto < ActiveRecord::Base
|
||
|
|
||
|
end
|
||
|
|
||
|
def up
|
||
|
remove_column :module_api_cartos, :name
|
||
|
add_index :module_api_cartos, [:procedure_id], unique: true
|
||
|
|
||
|
add_column :module_api_cartos, :use_api_carto, :boolean, default: false
|
||
|
add_column :module_api_cartos, :quartiers_prioritaires, :boolean, default: false
|
||
|
add_column :module_api_cartos, :cadastre, :boolean, default: false
|
||
|
|
||
|
Procedure.all.each do |procedure|
|
||
|
module_api_carto = ModuleAPICarto.new(procedure_id: procedure.id)
|
||
|
module_api_carto.use_api_carto = procedure.use_api_carto
|
||
|
module_api_carto.quartiers_prioritaires = procedure.use_api_carto
|
||
|
|
||
|
module_api_carto.save!
|
||
|
end
|
||
|
|
||
|
remove_column :procedures, :use_api_carto
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
add_column :procedures, :use_api_carto, :boolean, default: false
|
||
|
remove_index :module_api_cartos, [:procedure_id]
|
||
|
|
||
|
Procedure.all.each do |procedure|
|
||
|
procedure.use_api_carto = ModuleAPICarto.find_by(procedure_id: procedure.id).use_api_carto
|
||
|
procedure.save!
|
||
|
end
|
||
|
|
||
|
remove_column :module_api_cartos, :use_api_carto
|
||
|
remove_column :module_api_cartos, :quartiers_prioritaires
|
||
|
remove_column :module_api_cartos, :cadastre
|
||
|
|
||
|
add_column :module_api_cartos, :name, :string
|
||
|
|
||
|
ModuleAPICarto.destroy_all
|
||
|
end
|
||
|
end
|