

お世話になってます。

Railsでアプリケーションを作りたいのですが、MySQLのデータベースの設計について疑問に思ったことがあるので教えて下さい。

普段はPHPでアプリケーションを作成しているのですが、その時データベースの設計はWorkbenchを使っています。  
ER図を作りながら最終的に生成用のクエリを吐き出してそれを実行しています。

しかし、Railsではコマンドでモデルを作成して、`db:migrate`としてデータベースを作成していきますよね(あってますか?)。  
これまで通りWorkbenchで設計をしてそれをもとに作っていきたいのですが、どうしていけばよいのかわからずにいます。

アイディアをお貸しください。


CC BY-SA 3.0
2015-03-23T04:06:17.213
8247
2015-03-23T06:04:21.050
2015-03-23T06:04:21.050
85
5855
question
ruby-on-rails mysql
MySQL Workbenchを使ってRails用のデータベースを作る方法は？


## 方法1. rake db:schema:dumpを使う(推奨)

db:schema:dumpによって、現状のDBスキーマからschema.rbが生成されます。  
このデータを、migrationの最初のファイルに転用します。  
※ 既存システムをrailsへリプレースする場合などでも活用しますので覚えて損はありません。

## 方法2. そもそもmigrationファイルを作らない

migrationファイルは、世代管理的な要素でしかありませんし。  
rake db:migrateの生成物である schema.rb も必須ではありません。  
※ 実際、作っていなかった案件に、１度だけ遭遇したことがあります。


CC BY-SA 3.0
2015-03-23T05:19:22.490
8252
2015-03-23T05:19:22.490
8335
8247
answer


Workbenchは使ったことがありませんが、ネットを探すとこんなツールがありますね。

<http://sourceforge.net/projects/railsexporter/>

ただ、1年以上更新されていませんし、自分の周りでも使っている人を見たことがないので、あまり積極的に使うべきツールではないように思えます。

そもそも、migrationを使わないということはRailsのレールに乗らないということになります。  
Railsが用意しているレールに乗らないということは開発効率が落ちたり、思わぬ問題に遭遇したりする可能性が高いです。

別の言語やツール、フレームワークに慣れているとそれまでのやり方を続けたくなる気持ちは分かりますが、まずは郷にいれば郷に従えで、新しいフレームワークの流儀に乗っかってみることをお勧めします。

僕もそういう考え方でRailsを使い始めました。


CC BY-SA 3.0
2015-03-23T05:49:15.983
8256
2015-03-23T05:49:15.983
85
8247
answer