私はレールを学んでおり、私はマイグレーションを見つけました。モデルを編集するたびに、まだ私が生産中ではないにしても、移行スクリプトを追加する必要があるようです。Rails - モデルからマイグレーションスクリプトを生成
モデルを編集し、必要な属性をすべて追加してからリリースする前に、移行スクリプトを自動生成できますか?
ありがとうございます!
私はレールを学んでおり、私はマイグレーションを見つけました。モデルを編集するたびに、まだ私が生産中ではないにしても、移行スクリプトを追加する必要があるようです。Rails - モデルからマイグレーションスクリプトを生成
モデルを編集し、必要な属性をすべて追加してからリリースする前に、移行スクリプトを自動生成できますか?
ありがとうございます!
これまでのコメントに同意します。移行のアイデアは、新しいフィールドを追加したいときにアプリケーションに合わせてデータスキーマを流暢に適応させることです。シンプルで美しいシステムです。
多くの一般的なケースで適切なコードが生成されるだけでなく、さまざまなバージョンのデータベースで実行された移行を追跡するため、rails generate migration...
を使用できます(また使用する必要があります)。 、FIRST_NAME、LAST_NAMEなどの分野で、例えばユーザーのために、新しいモデルを作成
一般的なワークフローは、このようなものかもしれませんが、参照してください。 bundle exec rake db:migrate
を使用して実行 - データベーススキーマが更新されます
rails generate migration AddBirthdateToUser birthdate:date
を実行してください。列、インデックスなどの追加などの簡単な操作では、完全な移行コードが生成されます。他の場合は、移行を記述する必要があります。完了したら、移行を実行します。bundle exec rake db:rollback
)、移行を修正してから再実行します。rake db:migrate
ステージングサーバー上。あなたがチームにいて、他の開発者が移行をチェックインしている場合は、移行も実行されます。コードとデータスキーマが同期しました。:-)繰り返し生産展開時に移行を実行する一切害は(私は丁重に上記のコメントに反対する)ありません - あなたのアイデアその変更、することができ、このようにも変更を(受け入れる必要があります他の環境では信じられないほど難しい)は日々のRailsの生活の中では普通のことです!
レール3+を使用している場合は、ActiveRecordではなくDataMapperを検討してください。これにより、複数の移行ファイルではなく、モデルでデータモデルを定義できます。私が理解しているように、DataMapperを使用すると、変更から移行を生成できます。
これは、より広範なORMコミュニティでよく使用される、試して信頼できるパターンです。
手動で移行スクリプトを作成するのは難しくありません。 –
本当ですが、私が(開発中にはたくさんの変更があります)すべての変更に対して、かなりの数のAddXToY移行スクリプトが必要です... – Karan
元の移行スクリプトを編集してデータベースを削除して再読み込みできると思います。 – Karan