2010-11-22 11 views
1

私はレガシーアプリケーションから5k行のMySQLデータベース構造を持っており、これをRails db/migrationファイルのセットに変換/変換する必要があります。MySQLのレガシーからRailsへの移行変換

これを行うためのツールがありますか? RailsにレガシーDBに接続してスキーマを引き出すように伝えることはできますか?

ありがとうございました。

+0

これは、単にデータベース(MySQL)に接続し、rakeでスキーマダンプを行うのが良い方法です。 – EarlyPoster

+0

上記の問題は、私が可能な限り人間的に可能な限りOracle製品から遠ざかりようとしていることです。したがって、コンバータアプリケーション(ソフトウェアをインストールする必要はありません)はスピードのために理想的です。 – EarlyPoster

答えて

2

Railsにはこの機能が組み込まれています。

database.yml(おそらく開発環境用)を変更して、 "legacy"スキーマであなたのrailsアプリケーションを指定してください。

実行rake db:schema:export

マイグレーションDSLのdb/schema.rbに適切なルビーファイルがあります。そのため、それは無関係です(ベンダー固有の項目も除外されていることを意味します)。

詳細はMigrations – Schema Dumping and Youをご覧ください。

1

データベース構造を使用してモデルをすべて作成した場合は、そのまま変更することなくそのまま使用することができます。

移行が完了したら、さらにrailswayを実行できます。

+0

シンガラ、すぐに使えると思います。しかし、既存のデータベースから作成されたデータベーススキーマはより理想的です。 – EarlyPoster

+0

ActiveRecordにスキーマがなく、スキーマはデータベースです。 – shingara

1

これは、とりわけ、あなたのDBをインポートし、あなたに出力Railsの移行をさせます。答えをSQLEditor

+0

これは完璧に見えますが、残念ながら私は現在GentooにいてOSXアプリケーションをエミュレートすることはできません。 – EarlyPoster

1

感謝を。 @Georges、私はGentooを実行しています。 @シンガラ - 私のすべてのモデルを最初に作成するには数日かかるだろう。

残念ながら、 は、MySQLデータベースサーバーを迅速にセットアップするためのものでした(これを行う最速の方法でした)。 構造体を持ち上げます。 Railsが(アプリ経由で)スキーマダンプを実行しました。 新しいデータベースが決定されたときに、新しくエクスポートされたデータ構造を使用します。

マシンにOracleソフトウェアをインストールすることなく、MySQLの構造とデータのダンプを変換することができれば、いいと思います。