Re: rake db:migrate does nothing

Rob Biedenharn
Fri, 06 Jul 2007 22:31:31 -0000

On Jul 6, 2007, at 6:07 PM, Ambrose wrote:
> Hi Rob
>
> Thanks for the reply. Here is my migrate directory listing:
>
> 001_add_sessions.rb
class AddSessions (right?)
> 002_create_admins.rb
class CreateAdmins
> 003_create_users.rb
class CreateUsers
> 004_create_resumes.rb
class CreateResumes
> 005_create_cvs.rb
class CreateCvs
>
> It didn''t apply migration 004 so I tried another migration 005 and
> that didn''t apply wither. I rolled back to 002 and then migrated
again
> and it redid 003 but once again did not apply 004 or 005.

from script/console, what does this say:
puts ActiveRecord::Migrator.current_version

I''m thinking it will say 3

Of course, if any of the classes don''t match the filename (more
importantly, if they aren''t unique), you should *make* them unique
and try again.

-Rob

>
> I am pretty sure there is something odd going on as in the past I have
> created a new rails project and run the same migrations creating the
> same tables and it works fine.
>
> Cheers
>
> Ambrose
>
> On Jul 6, 2:54 pm, Rob Biedenharn
<R...-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org> wrote:
>> show us a listing of your db/migrate directory.  If you have the same
>> class defined in more than one migration file (typically matching the
>> CamelCased part of the filename after then number), then your
>> migrations go haywire.  One way around this is to use very long,
>> descriptive names for your migrations.
>>
>> -Rob
>>
>> Rob Biedenharn          http://agileconsultingllc.com
>> R...-xa9cJyRlE0mWcWVYNo9pwxS2lgjeYSpx@public.gmane.org
>>
>> On Jul 6, 2007, at 5:34 PM,Ambrosewrote:
>>
>>> Anyone else have any suggestions?
>>
>>> Thanks
>>
>>> Ambrose
>>
>>> On Jul 4, 7:31
pm,Ambrose<ambrose.merr...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>>>> Hi Cory - nope, they are not tables I have already created -
they
>>>> definitely don''t exist before or after the migration
:-(
>>
>>>> I just don''t get it. I''ll use the same code
when I start a new
>>>> project
>>>> and it will work for a while.
>>
>>>> Very frustrating.
>>
>>>> On Jul 4, 2:15 pm, CPerry
<c...-jEJZ73ctDLTqlBn2x/YWAg@public.gmane.org> wrote:
>>
>>>>> Be sure that you have not already created these tables
before. If
>>>>> you
>>>>> have you will need to force the migration to work like
so....
>>
>>>>> create_table :resumes force => true do |t|
>>
>>>>> This will allow the migration to overwrite the original
table,
>>>>> assuming that you have already previously created it.
>>
>>>>> --Cory
>>
>>>>> On Jul 4, 4:09
pm,Ambrose<ambrose.merr...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>>
>>>>>> In the migrate directory I have got to 005. The foirst
3
>>>>>> moigrations
>>>>>> worked but migration 004 and 005 did not.
>>
>>>>>> I just rolled back to version=2 and then ran rake
db:migrate
>>>>>> again and
>>>>>> it created the table for 003 but once again did not
create the
>>>>>> tables
>>>>>> for 004 or 005. No errors just did not do anything for
004 and
>>>>>> 005.
>>
>>>>>> Very strange.
>>
>>>>>> On Jul 4, 1:06 pm, Niels Meersschaert
<nmeersscha...-ee4meeAH724@public.gmane.org>
>>>>>> wrote:
>>
>>>>>>> What does the new migration you just created say is
the
>>>>>>> migration
>>>>>>> number?
>>>>>>> How did you create the migration?  The convention
is migrations
>>>>>>> are
>>>>>>> named 003NameOfMigraton where 003 refers to the
migration
>>>>>>> number.
>>
>>>>>>> Niels
>>
>>>>>>> Sent from my iPhone
>>
>>>>>>> On Jul 4, 2007, at 4:00
>>>>>>>
PM,Ambrose<ambrose.merr...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
>>>>>>> wrote:
>>
>>>>>>>> Thanks Niels
>>
>>>>>>>> I tried creating a new migration but once again
it didn''t fail
>>>>>>>> but
>>>>>>>> also did not create the table.
>>
>>>>>>>> The schema says I am on version 3 though I have
tried 2 more
>>>>>>>> migrations that have not happened. If I roll
back now I will
>>>>>>>> roll back
>>>>>>>> to version 2 and lose a table with some test
data. No big
>>>>>>>> deal I
>>>>>>>> guess.
>>
>>>>>>>> Is it your expectation that I will then be able
to successfully
>>>>>>>> perform migrations once again? I''ll
try and see.
>>
>>>>>>>> Thanks
>>
>>>>>>>> Ambrose
>>
>>>>>>>> On Jul 4, 12:53 pm, Niels Meersschaert
<nmeersscha...-ee4meeAH724@public.gmane.org>
>>>>>>>> wrote:
>>>>>>>>> You need to either create a new migration
or roll back to the
>>>>>>>>> migration before the one you are editing.
If you look in your
>>>>>>>>> db you
>>>>>>>>> will see a table called schema info. This
has a single row
>>>>>>>>> with a
>>>>>>>>> column showing the version of your
migration.
>>
>>>>>>>>> If you are still developing it is fine to
edit the migration,
>>>>>>>>> bit if
>>>>>>>>> you are in production the rollback could
remove data so the
>>>>>>>>> safest
>>>>>>>>> approach is to generate a new migration.
>>
>>>>>>>>> Niels
>>
>>>>>>>>> Sent from my iPhone
>>
>>>>>>>>> On Jul 4, 2007, at 3:21
>>>>>>>>>
PM,Ambrose<ambrose.merr...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
>>>>>>>>> wrote:
>>
>>>>>>>>>> Very strange.
>>
>>>>>>>>>> I have created a couple of models,
edited the migration
>>>>>>>>>> files and
>>>>>>>>>> run
>>>>>>>>>> rake db:migrate and voila, the new
table is created.
>>
>>>>>>>>>> Now I come to create a 3rd model, edit
the migration file:
>>
>>>>>>>>>> class CreateResumes <
ActiveRecord::Migration
>>>>>>>>>> def self.up
>>>>>>>>>>   create_table :resumes do |t|
>>>>>>>>>>     # t.column :name, :string
>>>>>>>>>>     t.column :institution, :string
>>>>>>>>>>     t.column :user_id, :integer
>>
>>>>>>>>>>   end
>>>>>>>>>> end
>>
>>>>>>>>>> def self.down
>>>>>>>>>>   drop_table :resumes
>>>>>>>>>> end
>>>>>>>>>> end
>>
>>>>>>>>>> and run rake db:migrate and it
doesn''t fail it just does
>>>>>>>>>> nothing, it
>>>>>>>>>> creates no new table.
>>
>>>>>>>>>> C:\work\1hh-b>rake db:migrate -t
>>>>>>>>>> (in C:/work/1hh-b)
>>>>>>>>>> ** Invoke db:migrate (first_time)
>>>>>>>>>> ** Invoke environment (first_time)
>>>>>>>>>> ** Execute environment
>>>>>>>>>> ** Execute db:migrate
>>>>>>>>>> ** Invoke db:schema:dump (first_time)
>>>>>>>>>> ** Invoke environment
>>>>>>>>>> ** Execute db:schema:dump
>>
>>>>>>>>>> C:\work\1hh-b>
>>
>>>>>>>>>> Other rake commands work fine such as
rake annotate_models.
>>
>>>>>>>>>> This isn''t the first time this
has happened. It usually
>>>>>>>>>> happens
>>>>>>>>>> after
>>>>>>>>>> I have done a few migrations. Because I
am a noob and
>>>>>>>>>> building
>>>>>>>>>> simple
>>>>>>>>>> test apps I just start a new project,
copying over what I
>>>>>>>>>> have
>>>>>>>>>> done to
>>>>>>>>>> date and rake db:migrate works fine.
But it isn''t a
>>>>>>>>>> satisfactory
>>>>>>>>>> solution.
>>
>>>>>>>>>> Any suggestions would be great.
>>
>>>>>>>>>> Thanks
>>
>>>>>>>>>> Ambrose