3

在 Rails 3.2.3 应用程序中,我需要允许管理员创建数据库并使用 schema.rb 中的表填充它。

只执行 schema.rb 中的代码是理想的。基本上,我正在寻找一种方法:

rake db:setup

不使用“耙子”。

我还有几件事想做,比如备份数据库,我想知道是否有我可以使用的 Rails DSL,或者我是否只需要编写 SQL 并通过 ActiveRecord::Base 运行它.连接.执行。

谢谢你的尽心帮助。

4

4 回答 4

5

您可以尝试从您的应用程序运行它:

 system("rake db:setup")
于 2012-05-21T16:39:11.000 回答
2
rake db:setup
rake db:schema:load 

这将创建一个数据库(如果不存在)并将 a 加载schema.rb到数据库中。如果您不想使用rake,可以将模式存储为原始 sql 并加载它。

您可以使用备份gem 进行备份。

于 2012-05-21T16:37:39.367 回答
1

我不知道我是否理解正确,但是

您可以使用 seed.rb 以便创建表条目,例如:

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

然后做一个

rake db:seed

在控制台中

于 2012-05-21T18:01:04.657 回答
0

您可以使用 'load "path/to/schema.rb" 加载它,它将从当前打开的连接创建数据库

于 2014-01-23T01:06:11.403 回答