Project

General

Profile

« Previous | Next » 

Revision 7b3cfc0d

Added by Ondřej Ezr about 4 years ago

Fixes #29452 - fk migrations cleanup

View differences:

db/migrate/20140910153654_move_host_nics_to_interfaces.rb
nic.subnet_id = host.attributes.with_indifferent_access[:subnet_id]
nic.domain_id = host.attributes.with_indifferent_access[:domain_id]
nic.virtual = false
nic.identifier = host.attributes.with_indifferent_access[:primary_interface] || "eth0"
nic.identifier = host.attributes.with_indifferent_access[:primary_interface] || 'eth0'
nic.managed = host.attributes.with_indifferent_access[:managed]
nic.primary = true
nic.provision = true
......
remove_column :hosts, :ip
remove_column :hosts, :mac
remove_column :hosts, :primary_interface
remove_foreign_key :hosts, :name => "hosts_subnet_id_fk"
remove_foreign_key 'hosts', :name => 'hosts_subnet_id_fk'
remove_column :hosts, :subnet_id
remove_foreign_key :hosts, :name => "hosts_domain_id_fk"
remove_foreign_key 'hosts', :name => 'hosts_domain_id_fk'
remove_column :hosts, :domain_id
end
......
add_column :hosts, :mac, :string, :default => '', :limit => 255
add_column :hosts, :primary_interface, :string, :limit => 255
add_column :hosts, :subnet_id, :integer
add_foreign_key "hosts", "subnets", :name => "hosts_subnet_id_fk"
add_foreign_key 'hosts', 'subnets', :name => 'hosts_subnet_id_fk'
add_column :hosts, :domain_id, :integer
add_foreign_key "hosts", "subnets", :name => "hosts_domain_id_fk"
add_foreign_key 'hosts', 'subnets', :name => 'hosts_domain_id_fk'
say "Migrating Interfaces to Host interfaces"
FakeHost.reset_column_information
db/migrate/20150514114044_migrate_ptables_to_templates.rb
end
def up
if foreign_key_exists?('operatingsystems_ptables', :name => 'operatingsystems_ptables_ptable_id_fk')
remove_foreign_key "operatingsystems_ptables", :name => "operatingsystems_ptables_ptable_id_fk"
end
if foreign_key_exists?('hostgroups', :name => 'hostgroups_ptable_id_fk')
remove_foreign_key "hostgroups", :name => "hostgroups_ptable_id_fk"
end
if foreign_key_exists?('hosts', :name => 'hosts_ptable_id_fk')
remove_foreign_key "hosts", :name => "hosts_ptable_id_fk"
%w(operatingsystems_ptables hostgroups hosts).each do |source_table|
if foreign_key_exists?(source_table, :name => "#{source_table}_ptable_id_fk")
remove_foreign_key source_table, :name => "#{source_table}_ptable_id_fk"
end
end
add_column :templates, :os_family, :string, :limit => 255
......
FakeOldPtable.all.each do |old_ptable|
old_ptable.destroy
end
add_foreign_key "operatingsystems_ptables", "templates", :name => "operatingsystems_ptables_ptable_id_fk", :column => 'ptable_id'
add_foreign_key "hostgroups", "templates", :name => "hostgroups_ptable_id_fk", :column => 'ptable_id'
add_foreign_key "hosts", "templates", :name => "hosts_ptable_id_fk", :column => 'ptable_id'
add_foreign_key 'operatingsystems_ptables', 'templates', :name => 'operatingsystems_ptables_ptable_id_fk', :column => 'ptable_id'
add_foreign_key 'hostgroups', 'templates', :name => 'hostgroups_ptable_id_fk', :column => 'ptable_id'
add_foreign_key 'hosts', 'templates', :name => 'hosts_ptable_id_fk', :column => 'ptable_id'
end
def down
remove_foreign_key "operatingsystems_ptables", :name => "operatingsystems_ptables_ptable_id_fk"
remove_foreign_key "hostgroups", :name => "hostgroups_ptable_id_fk"
remove_foreign_key "hosts", :name => "hosts_ptable_id_fk"
remove_foreign_key 'operatingsystems_ptables', :name => 'operatingsystems_ptables_ptable_id_fk'
remove_foreign_key 'hostgroups', :name => 'hostgroups_ptable_id_fk'
remove_foreign_key 'hosts', :name => 'hosts_ptable_id_fk'
Ptable.all.each do |new_ptable|
say "migrating partition table #{new_ptable.name} down"
old_ptable = FakeOldPtable.new
......
Ptable.delete_all
remove_column :templates, :os_family
add_foreign_key "operatingsystems_ptables", "ptables", :name => "operatingsystems_ptables_ptable_id_fk", :column => 'ptable_id'
add_foreign_key "hostgroups", "ptables", :name => "hostgroups_ptable_id_fk", :column => 'ptable_id'
add_foreign_key "hosts", "ptables", :name => "hosts_ptable_id_fk", :column => 'ptable_id'
%w(operatingsystems_ptables hostgroups hosts).each do |source_table|
add_foreign_key source_table, 'ptables', :name => "#{source_table}_ptable_id_fk", :column => 'ptable_id'
end
end
private
db/migrate/20150521121315_rename_config_template_to_provisioning_template.rb
Permission.where(:name => from).update_all(:name => to)
end
if foreign_key_exists?('os_default_templates', :name => 'os_default_templates_config_template_id_fk')
remove_foreign_key "os_default_templates", :name => "os_default_templates_config_template_id_fk"
end
if foreign_key_exists?('template_combinations', :name => 'template_combinations_config_template_id_fk')
remove_foreign_key "template_combinations", :name => "template_combinations_config_template_id_fk"
end
if foreign_key_exists?('config_templates_operatingsystems', :name => 'config_templates_operatingsystems_config_template_id_fk')
remove_foreign_key "config_templates_operatingsystems", :name => "config_templates_operatingsystems_config_template_id_fk"
%w(os_default_templates template_combinations config_templates_operatingsystems).each do |source_table|
if foreign_key_exists?(source_table, :name => "#{source_table}_config_template_id_fk")
remove_foreign_key source_table, :name => "#{source_table}_config_template_id_fk"
end
end
rename_column :template_combinations, :config_template_id, :provisioning_template_id
......
rename_table :config_templates_operatingsystems, :operatingsystems_provisioning_templates
rename_column :operatingsystems_provisioning_templates, :config_template_id, :provisioning_template_id
add_foreign_key "os_default_templates", "templates", :name => "os_default_templates_provisioning_template_id_fk", :column => 'provisioning_template_id'
add_foreign_key "template_combinations", "templates", :name => "template_combinations_provisioning_template_id_fk", :column => 'provisioning_template_id'
add_foreign_key 'os_default_templates', 'templates', :name => 'os_default_templates_provisioning_template_id_fk', :column => 'provisioning_template_id'
add_foreign_key 'template_combinations', 'templates', :name => 'template_combinations_provisioning_template_id_fk', :column => 'provisioning_template_id'
# name of FK was to long for MySQL, so it does not follow naming convention
add_foreign_key "operatingsystems_provisioning_templates", "templates", :name => "os_provisioning_template_id_fk", :column => 'provisioning_template_id'
add_foreign_key 'operatingsystems_provisioning_templates', 'templates', :name => 'os_provisioning_template_id_fk', :column => 'provisioning_template_id'
end
def down
remove_foreign_key "os_default_templates", :name => "os_default_templates_provisioning_template_id_fk"
remove_foreign_key "template_combinations", :name => "template_combinations_provisioning_template_id_fk"
remove_foreign_key "operatingsystems_provisioning_templates", :name => "os_provisioning_template_id_fk"
remove_foreign_key 'os_default_templates', :name => 'os_default_templates_provisioning_template_id_fk'
remove_foreign_key 'template_combinations', :name => 'template_combinations_provisioning_template_id_fk'
remove_foreign_key 'operatingsystems_provisioning_templates', :name => 'os_provisioning_template_id_fk'
rename_column :template_combinations, :provisioning_template_id, :config_template_id
rename_column :os_default_templates, :provisioning_template_id, :config_template_id
......
rename_column :operatingsystems_provisioning_templates, :provisioning_template_id, :config_template_id
rename_table :operatingsystems_provisioning_templates, :config_templates_operatingsystems
add_foreign_key "os_default_templates", "config_templates", :name => "os_default_templates_config_template_id_fk"
add_foreign_key "template_combinations", "config_templates", :name => "template_combinations_config_template_id_fk"
add_foreign_key "config_templates_operatingsystems", "config_templates", :name => "config_templates_operatingsystems_config_template_id_fk"
add_foreign_key 'os_default_templates', 'config_templates', :name => 'os_default_templates_config_template_id_fk'
add_foreign_key 'template_combinations', 'config_templates', :name => 'template_combinations_config_template_id_fk'
add_foreign_key 'config_templates_operatingsystems', 'config_templates', :name => 'config_templates_operatingsystems_config_template_id_fk'
PERMISSIONS.each do |to|
from = to.sub('provisioning_templates', 'templates')

Also available in: Unified diff