水曜日, 11月 07, 2007

railsでの発見

 いきなりですが、本業である学生の卒検に絡んだ事を色々触っておりまして、今はRaiilsで既存のデータベースをどう扱うか?って言う問題にぶちあたっております。

さて、その中でタクシー会社のリストアップの際になにやらこのようなものを発見
コマンドはこうです。

gem search -r generate
の中で出てきた
db_discovery_generator (0.1.1, 0.1.0)
db_discovery generator allows you to create the DB models with
associations from existing DB
schema_generator (1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.9.0, 0.2.0, 0.1.0)
The rails schema generator generates complete SQL schemas from a
collection of rails migrations. It currently produces one schema
file each for MySQL, PostgreSQL, and SQLite.

この二つが気になりました。
それで今から調べてみます。。。。

検索中。。。

えっと、結果なんですが、db_discovery_generatorに関しては情報がありませんでした。
schma_generatorの方は情報がありまして、
上の文章から行くとrailsのスキーマーを生成するためのジェネレータで、SQLスキーマをrailsマイグレートコレクションから選び補完するものです。
これは、直下のスキーマファイル一つのスキーマファイルをMySQL,PostgreSQLそして、SQLiteから導き出す。と書かれているようです。
下記に参考文献を示します。
参考URL:http://d.hatena.ne.jp/zhesto/mobile?date=20051108

Ruby-based representation of your database schema. you can change from one database to another with no effort.

データベーススキーマをrubyベースに提示するものです。

データベースを努力する事無く、他のものに変える事ができます。

The schema generator is sort of the flip side of the new schema code in Rails 1.0. It takes a set of Rails migrations, aggregates them all together, and spits out a SQL file that describes the DB that you’d get if you ran all of the migrations.

このスキーマジェネレータは新しいスキーマコードRailsに入れ替えます。それは1つのRails migrationsをつかい、一斉にそれをあつめ、そして、SQLfileにDBの詳細を書き出します。

えっ?これってSQLfileからmigration fileを書き出すんじゃないの?

  • install schema generator gem
gem install schema_generator
cd myapp
mkdir db/migrate/
vim db/migrate/0_initial_schema.rb
# or download example schema
# wget -O migrations/0_initial_schema.rb \
# "http://typo.leetsoft.com/trac/file/trunk/db/migrate/0_initial_schema.rb?rev=598&format=txt"
./script/generate schema
この例をみる限りそのようです。ね。
ガーン

でも、こういうのがあれば逆もあるはずと思って探します。

This will create db/schema.mysql.sql , db/schema.postgresql.sql and db/schema.sqlite.sql

コメント(0) | トラックバック(0) | 12:30 このエントリーを含むブックマーク


検索中。。。。。
大体5分くらいでしょうか。
見つかりました。

参考URL:http://tam.qmix.org/wiki/Migration.html
ここで書かれています。

必要な項目を抜き出すと、
rake db_schema_dump
これだけをするだけで、migrationでできる用にmigrationファイルを生成してくれるらしいです。
なので
やってみました。

注意書き:これはデータベースにそのダンプファイルと同じデータが入ってないとだめみたいだから何も無い状態で持ってくる時は、一度
mysql -u username -p databasename < dumpfile.sqlとしましょう。

以上今日の話終わり!