1

を使用schema.rbすると、実際に古いRails3.0プロジェクトをRails3.2.3プロジェクトに変換し、このschema.rbファイルを使用してデータベースを再構築できると思います。

しかし、3.0プロジェクトで以前にすべてのRESTfulリソースを作成するためにスキャフォールドを使用した場合、この新しいRails 3.2.3プロジェクトでもスキャフォールドをもう一度生成する必要はありませんか?もしそうなら、使うのは役に立たないのではないscheme.rbでしょうか?とにかく途中ですべての移行ファイルを作成してレーキを実行し、途中で追加の作成インデックス移行を生成できるためです。

それとももっと良い方法はありますか?古いスキャフォールドと古いデータベーステーブルおよびインデックスを自動的に再作成できる方法などですか?古いデータベースは使用または破棄できるため、sqliteデータベースを最初から新しく開始する方がクリーンなオプションです。

4

2 に答える 2

1

新しいプロジェクト/データベースを構築するために既存のプロジェクト/データベースを廃棄したい理由はありますか?通常、Gemfileのrailsバージョンを更新し、bundle installを実行してから、壊れたものを修正するのは非常に簡単です(デフォルトのスキャフォールディングを使用している場合は、それほど多くはありません)。既存のデータベースは、3.0または3.2のいずれか、およびすべての古いスキャフォールディングファイルで問題なく動作します。

このrailscastをチェックして、rails 3.0から3.1に移行する方法を確認し、アップグレードの基本を確認する必要があります。3.1から3.2へのアップグレードはさらに簡単です。

元の質問に答えるために、schema.rbを使用してスキャフォールドを再生成する簡単な方法はありません。足場は、モデル/コントローラーの構築を開始するときに役立つ出発点にすぎません。通常、足場は後で大幅に変更することになるため、通常、足場を再作成しても意味がありません。

于 2012-05-23T21:20:27.797 に答える
0

この「逆スキャフォールド」スクリプトを使用できます。

https://github.com/ahe/reverse_scaffold

app/viewsフォルダーに必要なhtml.erbbファイルが生成されます。

Readmeページでかなりよく説明されています。

また、Rails3.2用に更新されています

于 2012-07-25T20:40:43.480 に答える