2011-08-02 11 views

答えて

4

これは移行のためのものです。 DSLを学ぶと、テーブルを作成するためのGUIを使用するよりも、マイグレーション(特に組み込みジェネレータを使用)を書く方が簡単です。詳細情報についてはmigrations guideをご覧ください。

ActiveRecordは、すでにデータベーススキーマに基づいて、カラムに基づいてゲッターやセッターを追加するなど、自動的に多くのことを行います。私はあなたが何を望んでいるのか分からないので、私はあなたをもっと具体的に助ける方法を知らない。

+0

私は移行に関する多くの経験はありませんが、いったん複数の移行ファイルがあると、それらを管理することは悪夢になる可能性があります(特に列名を間違えた場合)。あなたは、移行に突入する可能性があります。 – Shane

+0

マイグレーションを使用すると、スキーマへの変更を段階的にバージョニングする方法も提供されます。スキーマの変更は、ローカルのdbを直接使用するだけで行うことはできません。チームで働いたことがあったり、変更をすぐに展開したりロールバックしたりしなければならない場合、これは非常に便利です。 –

+0

ちょうどゲート外にないアプリであれば、少なくとも少々のマイグレーションがあります。それらがスタックするのは珍しいことではないので、各デプロイメントには潜在的に異なる開発者とコミット(おそらく異なる機能ブランチ)からの移行がいくつかあります。移行は、特にSQLiteやPostgreSQL(トランザクションスキーマの変更)を使用している場合は、データベースを自分自身で操作するよりも安全です。 *私はdev上でMySQLを使用しています。マイグレーションが失敗したときには悪夢です - あなたが助けることができればそれをしないでください!* – coreyward

0

一見、移行が混乱するように見えるかもしれませんが、それに慣れると、移行は自然にRailsで機能します。名前を誤って入力した場合は、移行ファイルをロールバックして修正するだけです。また、本番環境で使用したまれなケースでエラーを修正する別のmigを記述してください。

これは、特にプロジェクトがいくつかのバージョン段階を経た場合に、はるかに大きな力を与えます。いつでも元の状態にロールバックして移行することができます。新しい列を追加すると、簡単にデフォルト値を設定したり、値や関係を調整する短いルビスクリプトを書くことができます。

関連する問題