Revision 7b3cfc0d
Added by Ondřej Ezr about 4 years ago
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
Fixes #29452 - fk migrations cleanup