RaSca
2007-Dec-12 09:22 UTC
Generate a migration from an existing MySQL Database (like Symfony)
Hi everybody, i''m a rails newbie and i''m trying to convert an existing application to rails. What i cannot find is a way to "convert" an existing mysql database into a rails migration script. I don''t wanto to rewrite all the migration scripts and i wonder if there''s a way to automate this process. For example, in Symfony once you have configured an access to a mysql DB in the config file (config/database.yml) you can launch # symfony propel-build-schema xml to generate an the XML file (config/schema.xml) containing the db structure and after that with # symfony propel-build-model and #symfony propel-generate-crud frontend tablename Tablename you have the complete editable scaffold for the table access configured. Is there a similar way to do these kind of things in rails ? Or the only way is to write by hand all the migration scripts ? Thanks, -- RaSca rascasoft-IWqWACnzNjyonA0d6jMUrA@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ 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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
kevin cline
2007-Dec-12 16:51 UTC
Re: Generate a migration from an existing MySQL Database (like Symfony)
On Dec 12, 3:22 am, RaSca <rascas...-IWqWACnzNjyonA0d6jMUrA@public.gmane.org> wrote:> Hi everybody, > i''m a rails newbie and i''m trying to convert an existing application > to rails. > What i cannot find is a way to "convert" an existing mysql database > into a rails migration script.This can be done in three simple steps: 1. write config/database.yml to reference your database. 2. Run "rake db:schema:dump" to generate db/schema.rb. Here''s the documentation: $ rake -T db:schema:dump ... rake db:schema:dump # Create a db/schema.rb file that can be portably used against any DB supported by AR 3. Convert schema.rb into db/migrate/001_create_database.rb: class CreateMigration < ActiveRecord::Migration def self.up # insert schema.rb here end def self.down # drop all the tables if you really need # to support migration back to version 0 end end --~--~---------~--~----~------------~-------~--~----~ 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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
RaSca
2007-Dec-12 17:12 UTC
Re: Generate a migration from an existing MySQL Database (like Symfony)
On 12 Dic, 17:51, kevin cline <kevin.cl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On Dec 12, 3:22 am, RaSca <rascas...-IWqWACnzNjyonA0d6jMUrA@public.gmane.org> wrote:[...]> This can be done in three simple steps:[...] Great! Thank you so much. Bye, -- RaSca rascasoft-IWqWACnzNjyonA0d6jMUrA@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ 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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Joel B.
2013-Feb-06 23:22 UTC
Re: Generate a migration from an existing MySQL Database (like Symfony)
This was a big help. Thanks! One thing though: I couldn''t get the newly created migration file to work initially. I kept getting an error that said "uninitialized constant CreateDatabase." I had to rename the migration class "CreateDataBase". So the first line of the migration file is now: class CreateDatabase < ActiveRecord::Migration Everything looks good now. Thanks again. kevin cline wrote in post #600414:> On Dec 12, 3:22 am, RaSca <rascas...-IWqWACnzNjyonA0d6jMUrA@public.gmane.org> wrote: >> Hi everybody, >> i''m a rails newbie and i''m trying to convert an existing application >> to rails. >> What i cannot find is a way to "convert" an existing mysql database >> into a rails migration script. > > This can be done in three simple steps: > > 1. write config/database.yml to reference your database. > 2. Run "rake db:schema:dump" to generate db/schema.rb. Here''s the > documentation: > > $ rake -T db:schema:dump > ... > rake db:schema:dump # Create a db/schema.rb file that can be > portably used against any DB supported by AR > > 3. Convert schema.rb into db/migrate/001_create_database.rb: > > class CreateMigration < ActiveRecord::Migration > def self.up > # insert schema.rb here > end > > def self.down > # drop all the tables if you really need > # to support migration back to version 0 > end > end-- 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 unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.