簡體   English   中英

有沒有辦法使用schema.rb從Rails內部創建數據庫?

[英]Is there a way to use schema.rb to create a database from inside Rails?

在Rails 3.2.3應用程序中,我需要允許管理員創建數據庫並使用schema.rb中的表填充它。

只是在schema.rb中執行代碼是理想的。 基本上,我正在尋找一種方法:

rake db:setup

不使用“耙子”。

我還有幾件我想做的事情,例如備份數據庫,我想知道是否有可以使用的Rails DSL,或者我只需要編寫SQL並通過ActiveRecord :: Base運行它.connection.execute。

謝謝你的盡心幫助。

您可以嘗試從您的應用運行它:

 system("rake db:setup")
rake db:setup
rake db:schema:load 

這將創建一個數據庫(如果不存在)並將schema.rb加載到數據庫中。 如果您不想使用rake ,可以將模式存儲為原始sql並加載它。

您可以使用備份 gem進行備份。

我不知道我是否理解正確但是

你可以使用seeds.rb,這樣你就可以創建表條目,如:

Person.create(email: "tom@mail.com", firstname: "Tom", phone: "0049-0")

然后做一個

rake db:seed

在控制台中

您可以使用'load“path / to / schema.rb”加載它,它將從當前連接打開創建數據庫

暫無
暫無

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

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