Anthony Ettinger wrote in post #749437:
> I recall problems with putting data migrations directly into a
> database migration file.

What you recall are problems with putting *seed data* into migration 
files.  Migrations are for changing the database schema only.

Sometimes, however, changing the schema involves moving data around to 
fit the new schema.  Those operations should go in the same migration 
that changes the schema.

> Where should I do them?
>
> I need to run a few SQL queries on the database, and then delete a few
> unnecessary things.
> Something like this pseudo example:
>
> #get ids of old softwares
> old_ids = SELECT id FROM softwares WHERE name IN ('foo', 'bar');
> good_id = SELECT id FROM softwares WHERE name = 'Good';
>
> #get directories using old softwares
> SELECT id, software_id FROM directories WHERE software_id IN
> (old_ids.join(','));
>
> #update these directories with new software
> UPDATE directories SET software_id = good_id WHERE software_id IN
> (old_ids.join(','));
>
> #delete old softwares
> DELETE from softwares WHERE id IN (old_ids.join(','));
>
> There is no change to the database schema itself, should this be a
> throw-away rake task or is can it be done as a "DATA ONLY" migration?

That should be a rake task or something, if I understand correctly what 
you're doing.  It should not be a migration.

>
>
>
>
> --
> Anthony Ettinger
> 408-656-2473
> http://anthony.ettinger.name

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to