class AddNestedIntervalToDomains < ActiveRecord::Migration def change add_column :domains, :parent_id, :integer add_column :domains, :lftp, :integer, null: false, default: 0 add_column :domains, :lftq, :integer, null: false, default: 0 add_column :domains, :rgtp, :integer, null: false add_column :domains, :rgtq, :integer, null: false add_column :domains, :lft, :float, null: false, limit: 53 add_column :domains, :rgt, :float, null: false, limit: 53 add_index :domains, :parent_id add_index :domains, :lftp add_index :domains, :lftq add_index :domains, :lft add_index :domains, :rgt Domain.class_exec do reset_column_information self.inheritance_column = "sti_disabled" acts_as_nested_interval virtual_root: true skip_callback :update, :before, :update_nested_interval skip_callback :update, :before, :sync_children end Domain.scoped.each do |d| d.create_nested_interval d.save! end end end