I am new to RoR. I have started a new project and have successfully
used migrations to create new tables.
I now want to add a column and have followed the steps outlined in
“Agile with Rails”:
ruby script/generate migration add_page_title
I open the latest file in migration directory and write and save the
following code:
class AddPageTitle < ActiveRecord::Migration
def self.up
add_column :contents, :page_title, :string
end
def self.down
remove_column :contents, :page_title
end
end
rake db:migrate
All I get is the echo back (in c:/work/fab1). The table name is
correct.
the schema file that I have open says it has changed and do I want
to reload it so I click yes but of course there is no change as the
rake did nothing.
So I am confused as to why nothing is happening. I have also tried to
add a new table but no luck with that either.
As a last resort I rebooted in the vain hope that it would magically
sort itself but that hasn’t worked.
So any suggestions as to what might be going wrong or what I might be
doing incorrectly would be gratefully received.
So I am confused as to why nothing is happening. I have also tried to
add a new table but no luck with that either.
So any suggestions as to what might be going wrong or what I might be
doing incorrectly would be gratefully received.
Check schema_info table in your DB. Ensure that version there is less
than the
number in your migration’s name.
I’ve decided to just start again. I hadn’t done that much and anyway
there was no data in the db.
Is this a common problem that I can expect to come across?
I’m not sure it is YOUR problem or problem at all.
I just have such situations when I have different branches of
application working with the same database and migrations in different
branches having the same name (e.g. you have branch A and branch B
where you develop different functionality and generate migrations -
migrations will have the same number and the second one that will be
run will not be executed).