2016-07-21 5 views
0

私は、古いschema.rbというファイルを持つRailsプロジェクトを持っています。空のデータベースもあります。 Railsモデルからschema.rbを生成するにはどうすればよいですか?Railsモデル(データベースなし)からschema.rbを生成

+0

'db/migrate'フォルダに移行コードがありますか? –

答えて

1

あなたが試すことができます。

rake db:schema:load

+0

念のために手動でリセットを試みてください。 – Mazaz

0

ActiveRecordモデルは、データベーススキーマに関する情報を格納しません。スキーマはschema.rbファイルに格納されています。

ファイルはすべての移行の最後にデータベースから生成されます。したがって、最新のデータベースをお持ちの場合は、次のコマンドを実行してください:

$ rake db:migrate 

をスキーマと同期させるだけです。空のデータベースがある場合は、スキーマを更新する方法がありません(実際には、その時点でRailsモデルが使用しているものが不思議です)。あなたが行うことができます

唯一のものは、次のとおりです。

  1. 負荷電流のスキーマと、マイグレーションを再利用すること
  2. から移行
0

あなたがすべきではないときは、最新のものであると仮定するとモデルからスキーマを生成するのではなく、データベースまたは移行ファイルを作成します。あなたの移行が最新であると、データベースの状態を反映している場合は、実行することができます。

bundle exec rake db:schema:dump 

は、それはあなたのデータベースからschema.rbファイルを生成する必要があります。タスクが実行された移行:

この

はRailsが デシベル後に実行するものである

Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby 
関連する問題