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,

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

[...]

This can be done in three simple steps:

[...]

Great!

Thank you so much.

Bye,

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: