簡體   English   中英

從Rails模型生成schema.rb(無數據庫)

[英]Generate the schema.rb from Rails Models (without Database)

我有一個過時的schema.rb文件的Rails項目。 我也有一個空的數據庫。 如何從Rails模型生成schema.rb

您不應從模型中生成模式,而應從數據庫或遷移文件中生成模式。 如果您的遷移是最新的並且可以反映數據庫的狀態,則可以運行:

bundle exec rake db:schema:dump 

它應該從您的數據庫生成schema.rb文件。

這是在db:migrate任務執行后Rails運行的內容:

Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby

你可以試試;

rake db:schema:load

ActiveRecord模型不存儲有關數據庫架構的任何信息。 該模式存儲在schema.rb文件中。

每次遷移結束時,都會從數據庫生成文件。 因此,如果您擁有最新的數據庫,只需運行:

$ rake db:migrate

同步架構。 如果您的數據庫為空,則無法更新架構(實際上,那時候我想知道您的Rails模型正在使用什么)。

您唯一可以做的是:

  1. 加載當前架構並從中遷移
  2. 重復使用遷移(假設它們是最新的)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM