Loading Seed Data from MySQL exported file

Hello,

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.

Any help?

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.

- Aleksey

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.

Colin

Hi Ahmed, I think you want to create fixtures for your seed data:

http://api.rubyonrails.org/classes/Fixtures.html

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!

Since the OP has his seed data in SQL format I do not think that fixtures are appropriate.

Colin

Aleksey Gureiev wrote:

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

Ahmed

Billee D. wrote:

Hi Ahmed, I think you want to create fixtures for your seed data:

http://api.rubyonrails.org/classes/Fixtures.html

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?