class CreateSupplierCategories < ActiveRecord::Migration class FinancialTransactionClass < ActiveRecord::Base; end class SupplierCategory < ActiveRecord::Base; end class Supplier < ActiveRecord::Base; end def change create_table :supplier_categories do |t| t.string :name, null: false t.string :description t.references :financial_transaction_class, null: false end add_reference :suppliers, :supplier_category reversible do |dir| dir.up do ftc = FinancialTransactionClass.first sc = SupplierCategory.create name: 'Other', financial_transaction_class_id: ftc.id Supplier.update_all supplier_category_id: sc.id end end change_column_null :suppliers, :supplier_category_id, false end end