I did the following using git in my rails application:
creating branch a from master
creating a migration
using it on development
creating a branch b from master
making fixes whih include a new migration (the migration number is
higher
than on branch a)
using it on development
merging b to masster
using master on production
migrate on master works fine
-> everything fine till here
merging master to branch a because of this important changes, so a is
ahead of master not just a fork.
now I put a copy of the production database to the development
database
of course now the migration first created in a is not there, because it
never reached master, but because it has a lower number than the last
migration in master, rake db:migrate does not do anything.
now I tried to give the migration file a newer number, but then rake
db:migrate tells me the table created in the migration would be allready
there. but looking directly inside the database it is not there.
What do I miss and how can I fix this?
note: it could also be because i just changed the db schema from sqlite
to
mysql2.
it seems that rake db:migrate works on the sqlite, not on thy msql
table?
On Saturday, December 5, 2015 at 1:11:54 PM UTC, Martin wrote:
merging master to branch a because of this important changes, so a is ahead of
master not just a fork.
now I put a copy of the production database to the development database
of course now the migration first created in a is not there, because it never
reached master, but because it has a lower number than the last migration in
master, rake db:migrate does not do anything.
That doesn’t sound right - rake db:migrate runs migrations that have not
been run by comparing the contents of the schema_migrations table with
the list of available migrations: it doesn’t just assume that everything
upto the largest entry has been run (unless possibly you are using the
legacy pre rails 2 migration numbering scheme - no idea if that is still
possible)
The only exception to this is that if you run db:schema:load then it
assumes all migrations upto the version named in schema.rb have run.