Forum: RSpec rake db:test:prepare and pending migrations

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
James B. (Guest)
on 2009-04-07 21:42
(Received via mailing list)
I have run into a minor glitch and would like to know what others
think.  I am working on a test/expectation and as part of the
process of debugging I am rolling back db:migrations one step at a
time to discover where the problem was introduced.

My workflow looks like this:

$ cucumber ... feature:xx
fail
$ rake db:rollback
$ rake db:test:prepare
  fail ... you have pending migrations.

Now, it seems to me that while testing one is interested only in
those migrations that have been applied, not which ones are
available.  It is nice to be notified that unapplied migrations
exist but I am not sure that one should be constrained to apply them
to conduct tests.

What do others think?


--
***          E-Mail is NOT a SECURE channel          ***
James B. Byrne                mailto:removed_email_address@domain.invalid
Harte & Lyne Limited          http://www.harte-lyne.ca
9 Brockley Drive              vox: +1 905 561 1241
Hamilton, Ontario             fax: +1 905 561 0757
Canada  L8E 3C3
Scott T. (Guest)
on 2009-04-07 21:46
(Received via mailing list)
On Apr 7, 2009, at 1:32 PM, James B. Byrne wrote:

> $ rake db:rollback
> $ rake db:test:prepare
>  fail ... you have pending migrations.
>
> Now, it seems to me that while testing one is interested only in
> those migrations that have been applied, not which ones are
> available.  It is nice to be notified that unapplied migrations
> exist but I am not sure that one should be constrained to apply them
> to conduct tests.
>
> What do others think?

If you are using git, it might be wiser to create a branch and reset --
hard back to those migrations.

Or, use git's bisect, and migrate:reset from a clean db each time

Scott
Mark W. (Guest)
on 2009-04-07 22:42
(Received via mailing list)
On Tue, Apr 7, 2009 at 10:44 AM, Scott T. <removed_email_address@domain.invalid>
wrote:
>>
>> to conduct tests.
>>
>> What do others think?
>
> If you are using git, it might be wiser to create a branch and reset --hard
> back to those migrations.
>
> Or, use git's bisect, and migrate:reset from a clean db each time


This also might be useful:
http://outofti.me/post/90028018/rake-db-rollback-to-common
Pat M. (Guest)
on 2009-04-08 06:22
(Received via mailing list)
On Tue, Apr 7, 2009 at 10:32 AM, James B. Byrne 
<removed_email_address@domain.invalid>
wrote:
> $ rake db:rollback
>
> rspec-users mailing list
> removed_email_address@domain.invalid
> http://rubyforge.org/mailman/listinfo/rspec-users
>

Scott and Mark have given good input.  This is a Rails thing, not an
RSpec thing, so if you want the behavior of db:test:prepare changed
then you'll have to do it at the Rails end.

Pat
This topic is locked and can not be replied to.