回答:
実行するrake -T
と、Railsプロジェクトで可能なすべてのRakeタスクがリストされます。それらの1つは、データベースからRailsアプリのschema.rbを再作成するdb:schema:dumpです。
bundle exec rake db:schema:dump
rake db:schema:dump
、rails 2.0の後も空のスキーマが含まれています
注意深く
rake db:schema:dump
現在のDBスキーマダンプしますDB FROMを。これは、マイグレーションに変更を加えた場合、それらがschema.rbファイルに反映されないことを意味します。これはIMOに必要なものではありません。
移行からスキーマを再作成する場合は、以下を実行します。
rake db:drop # ERASES THE DATABASE !!!!
rake db:create
rake db:migrate
rake db:schema:dump
コマンドを実行するのが最善の方法です。
schema.rbファイル自体から直接:
別のシステムにアプリケーションデータベースを作成する必要がある場合は
db:schema:load
、すべての移行を最初から実行するのではなく、を使用する必要があります。後者は欠点があり、持続不可能なアプローチです(移行が増えるほど、実行が遅くなり、問題が発生する可能性が高くなります)。
そのためrake db:migrate
、この執筆時点で最低評価の回答で提案されていたの提案は行わないでください。