Migrations

Hi there

I would like to get some advice on migrations. New on Rails, I do no
exactly understand what is going on here.

I have created a table “tax” sucessfully using this code in a
migration file:

class CreateTax < ActiveRecord::Migration
def self.up
create_table :tax do |t|
t.column(:rate, :integer, :default => 0)
# more
end
end

def self.down
drop_table :tax
end
end

Later, in a second step, I tried to populate this table with test data
using this code:

class TestTax < ActiveRecord::Migration
def self.up
down

tax = Tax.create(
      :rate => 0,
      :description => '(none}',
      is_default => 0)
tax.save!
# more records...

end

def self.down
Tax.delete_all
end
end

This leads to “uninitialized constant TestTax::Tax” printed by rake.

Originally, I tried to follow the standard Rail conventions about
using plurals, but this did not work either. Only when I got an error
message about “Taxis” (??) I thought, well, plurals seems to cause
problems instead of being really helpfull, so I added:

Inflector.inflections do |inflect|
inflect.uncountable %w( tax )
end

to environment.rb

What do I miss here?

I have other problems with migrations which let me think that I do not
really understand what is going on.
For example, I have the impression that the name of a migration is in
some respect taken into account. (I am not talking about the “xxx_”
part of course).

I tried to find my way but only got the impression of inconsistency.

Is there a good source of information of how rails Rails is really
managing Migrations, with all rules/assumptions?

Thanks for help in advance!

Kai