I'm developing an application, and I want to automatically load seed
data into database. The seed data exists in a SQL file (exported from
MySQL database). I want the application to load such data when I make
db:reset or db:migrate:reset or db:seed.
I believe, converting of data to the seed.rb format is not an option?
If so, the easiest way would be to write a rake task to use mysql or
sqlite3 to upload your data. Here's the sample that I put together
quickly: http://gist.github.com/279918 It replaces the standard
db:seed with the SQL-based version.
When you do rake db:seed it runs db/seeds.rb, so you can do what you
want in there. If you are not using latest Rails you might need to
check this works for you as it was only recently introduced.
Fixtures can even be scoped to an environment so you can have distinct
seed data for Development, Testing and Production. But, recent
versions of Rails use something called seed.rb now which allows you to
write seed data in Ruby, so fixtures are kind of old hat now.
Explaining how to use these would require more space than a forum post
will allow, but if you get stuck on something please post back here
and we'll try to help you out.
I believe, converting of data to the seed.rb format is not an option?
If so, the easiest way would be to write a rake task to use mysql or
sqlite3 to upload your data. Here's the sample that I put together
quickly: db.rb ยท GitHub It replaces the standard
db:seed with the SQL-based version.
- Aleksey
Thank you Aleksey, it seems good solution, I will try it
Fixtures can even be scoped to an environment so you can have distinct
seed data for Development, Testing and Production. But, recent
versions of Rails use something called seed.rb now which allows you to
write seed data in Ruby, so fixtures are kind of old hat now.
Explaining how to use these would require more space than a forum post
will allow, but if you get stuck on something please post back here
and we'll try to help you out.
Cheers!
Hello Billee,
Thanks for your response. Does fixtures support importing data from
MySQL?