0

アプリケーションを構築するために使用する必要があるデータベースがあります。他の誰かによってモデル化されましたが、Rails の規則に従っています。Active Record で簡単にマッピングできます。

移行を使用してそのデータベースに大幅な変更を加えることはできますか?それとも、ダイアグラムを使用してモデリングし、それをエクスポートし続ける必要がありますか?

以前にモデル化されたデータベースの上に移行または足場を使用することは良い習慣ですか?

スキャフォールディングの後、私は通常、既存のテーブルを作成しようとしている移行があるというある種の邪悪なエラーメッセージに行き詰まります。問題のある移行を削除すると、最悪になるだけです。

この質問について: 不可知論とは、任意の外部モデリング ツール (GUI SGBD ツール) を使用することを意味します。

4

1 に答える 1

1

基本的にどちらのルートでも行けます。どちらを選択するかは、開発スタイルによって異なります。

スクラム/アジャイルを行う場合、今後の移行を行うための強力なケースになります。

移行も基本的にレールの全体像の一部であり、開発プロセスの観点からレールをうまく機能させる要素の 1 つです。移行の大きな利点は、必要なデータベースを使用してアプリを作成できることです。これは、別のプロバイダーに移動するときに最適です*. ただし、移行が完全に完了していないデータベースの場合、これを行うには 2 つの手順があります。移行が開始された時点までの最初のデータベースを作成し、それらを引き続き使用します。

移行と足場は、既存のデータベース上で問題ありません。移行は新しい db を追加 (または削除) し、足場は (移行の実行時に) 新しい db レコードを作成できます。これらは、レール標準に従い、従来の名前の .stub テスト ファイルのようなものを作成するのに本当に役立ちます。

移行に最初に慣れたときは、エラー メッセージと構文にかなり戸惑いましたが、時間の経過とともに改善されるものの 1 つです。レールにはそのようなものがたくさんあります。つまり、すべてのビットを学習し、奇妙なエラーメッセージを許可します。

この分野で役立つツールは、mySQL Workbench (obv. for mysql) と ruby​​Mine IDE です。これらの各ツールを使用すると、既存のデータベースを確認できます。また、実際のテーブルを使用して mySQL からの ERD を ruby​​Mine の「モデル依存関係図」と比較することもできます。 " レール モデルの情報を使用した ERD。

*ただし、ライブ アプリの実際のデータを移動することは別の問題です。

于 2012-05-28T04:05:20.663 に答える