Automatically generate migration from db/SQL?


#1

Hi,

I’d like to use migrations to build my initial database. Is there a gem
or plugin that will generate the migration code for initial db if I
point it at a live database or sql file?

If yes, then can you automatically generate the incremental migrations
as well?

Thanks,
Jason


#2

Hi Jason,

On 12/17/05, Jason E. removed_email_address@domain.invalid wrote:

Hi,

I’d like to use migrations to build my initial database. Is there a gem
or plugin that will generate the migration code for initial db if I
point it at a live database or sql file?

It’s built right in. Uncomment the line in config/environment.rb that
says:

config.active_record.schema_format = :ruby

Then run rake db_schema_dump and you’ll have the schema in
db/schema.rb. This can be loaded with rake db_schema_import, or you
can copy the create_table statements into a new migration.

If yes, then can you automatically generate the incremental migrations
as well?

No, but if you run your tests db/schema.rb will always be up-to-date.


sam


#3

On Dec 17, 2005, at 8:26 PM, Jason E. wrote:

Hi,

I’d like to use migrations to build my initial database. Is there a
gem or plugin that will generate the migration code for initial db if
I point it at a live database or sql file?

If yes, then can you automatically generate the incremental migrations
as well?

Point rails to your database and do ‘rake db_schema_dump’, you could
then paste the guts of the schema.rb it produces into your initial
migration.

It could not generate incremental migrations from an existing schema,
there is no way to know how the schema was put together, only that it
is what it is.


Scott B.
Lunchbox Software
http://lunchboxsoftware.com
http://lunchroom.lunchboxsoftware.com
http://rubyi.st


#4

Also, check out SQL Translator (Google). It’s amazing at migrations -
just sqlt-diff.
All we need is for someone to write ActiveRecord.migration bindings to
it.

Sam S. wrote:

Hi Jason,

On 12/17/05, Jason E. removed_email_address@domain.invalid wrote:

Hi,

I’d like to use migrations to build my initial database. Is there a gem
or plugin that will generate the migration code for initial db if I
point it at a live database or sql file?

It’s built right in. Uncomment the line in config/environment.rb that
says:

config.active_record.schema_format = :ruby

Then run rake db_schema_dump and you’ll have the schema in
db/schema.rb. This can be loaded with rake db_schema_import, or you
can copy the create_table statements into a new migration.

If yes, then can you automatically generate the incremental migrations
as well?

No, but if you run your tests db/schema.rb will always be up-to-date.


sam