One small thing I'd like to point out is that running migrations serially
is not the same as recreating the database from a schema dump. For example,
the Rails migration `timestamp` directive has flip-flopped in its behavior
(`created_at` was originally nullable, then not nullable, then nullable
again) so the effect of running a migration is a combination of the
migration's own code plus the underlying gems and application code in
effect at the time it runs.

I like the idea of a sister directory to migrations to synchronize deploys
with the one-time tasks that accompany them.


On Thu, Feb 21, 2013 at 2:08 PM, Jonathan Lozinski <
jonathan.lozin...@gmail.com> wrote:

> I agree.
>
> Whilst there might be a number of different things people do, rails
> providing some guidance, or reusable hooks to support the following would
> be helpful:
>
> 1. Seeding stuff after you have a live product
> 2. Running one-time tasks on a deploy without changing your automated
> release processes.
>
> Both lend themselves to having a open framework which migrations is
> 'built' on, which lets you use a gem or whatever to provide another
> 'tracked' table such as a seeds table or a 'deployment_tasks' table which
> uses the same basic techniques as the migration system, that is:
>
> 1. it will have a rails generator to build a skeleton class to perform the
> 'task' which is named with a timestamp etc like migrations
> 2. a rake task to run the task which will execute any 'unrun' jobs in the
> folder
>
> This would allow Rails' migrations to be built on top of this (and thus
> support rollback or whatever), but allow plugins or to build a system for
> more app specific tasks which don't however have to reinvent the robust
> framework that migrations currently has.
>
>
> On 18 Feb 2013, at 13:44, Rodrigo Rosenfeld Rosas <rr.ro...@gmail.com>
> wrote:
>
> > Em 18-02-2013 08:05, mrloz escreveu:
> >> ...
> >> Additionally, rails doesn't (to my knowledge) provide a way to run
> db:seed after you have a live system which doesn't try and push prior seeds
> in too.  What is the recommended way to add seeded values to new tables in
> a live system?
> >
> > I believe supporting a "seeds" table in addition to the migrations table
> would be a great idea. The same way we currently have migrations under
> db/migrations/ it would be great if we could have our seeds under
> db/seeds/. Then "rake db:migrate" would also run "db:seed" or whatever
> other task name you might prefer. When running rake db:reset the seed
> migration would be run after restoring the DB infra-structure.
> >
> > That sounds like a good tool to add to AR migrations.
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Ruby on Rails: Core" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to rubyonrails-core+unsubscr...@googlegroups.com.
> > To post to this group, send email to rubyonrails-core@googlegroups.com.
> > Visit this group at
> http://groups.google.com/group/rubyonrails-core?hl=en.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-core+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-core@googlegroups.com.
> Visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to