Recently I've wanted to be able to take the data I've painstakingly defined in my fixture files and slurp it up into my development database so I can play with my website (locally, in development mode) with the same data I use in my tests. In a similar vein, I want to take the table definitions in the development_structure.sql file and use it to re-define my development database schema. Unless I'm missing something obvious, when someone changes the db schema commits it into our subversion repository, I always have to hand-update my development db to match the new schema (if I don't want to toast the data that's already in there), or fire up my db tool, drop all the databases, then execute the _structure.sql script (and lose all my data). Is there already something in rails that can do one or both of these for me? I guess I could take a whack at writing a couple of rake tasks, but I'm hoping that surely someone else has already written these already? Thanks! Jeff www.softiesonrails.com
on 27.01.2006 02:05
on 27.01.2006 02:22
On Fri, Jan 27, 2006 at 02:05:24AM +0100, Jeff Cohen wrote: > I don't want to toast the data that's already in there), or fire up my > db tool, drop all the databases, then execute the _structure.sql script > (and lose all my data). > > Is there already something in rails that can do one or both of these for > me? > > I guess I could take a whack at writing a couple of rake tasks, but I'm > hoping that surely someone else has already written these already? rake db_schema_import rake load_fixtures (all rake tasks are listed by running rake -T) marcel
on 27.01.2006 02:25
At 1/26/2006 08:05 PM, you wrote: >Recently I've wanted to be able to take the data I've painstakingly >defined in my fixture files and slurp it up into my development database >so I can play with my website (locally, in development mode) with the >same data I use in my tests. rake load_fixtures (you lose any data in your development database however) >In a similar vein, I want to take the table definitions in the >development_structure.sql file and use it to re-define my development >database schema. Unless I'm missing something obvious, when someone >changes the db schema commits it into our subversion repository, I >always have to hand-update my development db to match the new schema (if >I don't want to toast the data that's already in there), or fire up my >db tool, drop all the databases, then execute the _structure.sql script >(and lose all my data). You need to learn about Migrations http://api.rubyonrails.org/classes/ActiveRecord/Migration.html but there's more syntax explained with: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html >Is there already something in rails that can do one or both of these for >me? > >I guess I could take a whack at writing a couple of rake tasks, but I'm >hoping that surely someone else has already written these already? > >Thanks! >Jeff >www.softiesonrails.com You're Welcome, -Rob Rob Biedenharn Rob@agileconsultingllc.com Agile Consulting LLC http://agileconsultingllc.com 513-295-4739
on 27.01.2006 05:40
rake load_fixtures
> (you lose any data in your development database however)
You do, but if your fixtures are set up properly, so what? Why would
there
be data in a development database that isn't in the fixtures? If there
is,
then the time spent tip-toeing around your databasee is going to nickel
and
dime you until you've spent much more time doing things the hard way
than
just taking an hour and writing robust fixtures.
Worse, you'll be less inclined to make data structure changes because of
the
extra work managing data, when a structure change really is the best
choice
for the project.
I recommend making the most out of tools like fixtures to manage your
development environment. Your project will benefit from it in the long
run.
matt
on 27.01.2006 16:16
Thanks everyone! I did rake --tasks but obviously can't read. :-) Jeff
on 27.01.2006 18:45
On Jan 26, 2006, at 8:38 PM, matthew clark wrote: > more time doing things the hard way than just taking an hour and > matt > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails What about using this: http://nubyonrails.com/articles/2005/12/27/dump-or-slurp-yaml- reference-data Cheers- -Ezra Zygmuntowicz Yakima Herald-Republic WebMaster http://yakimaherald.com 509-577-7732 ezra@yakima-herald.com