在 Rails 3.2.3 应用程序中,我需要允许管理员创建数据库并使用 schema.rb 中的表填充它。
只执行 schema.rb 中的代码是理想的。基本上,我正在寻找一种方法:
rake db:setup
不使用“耙子”。
我还有几件事想做,比如备份数据库,我想知道是否有我可以使用的 Rails DSL,或者我是否只需要编写 SQL 并通过 ActiveRecord::Base 运行它.连接.执行。
谢谢你的尽心帮助。
在 Rails 3.2.3 应用程序中,我需要允许管理员创建数据库并使用 schema.rb 中的表填充它。
只执行 schema.rb 中的代码是理想的。基本上,我正在寻找一种方法:
rake db:setup
不使用“耙子”。
我还有几件事想做,比如备份数据库,我想知道是否有我可以使用的 Rails DSL,或者我是否只需要编写 SQL 并通过 ActiveRecord::Base 运行它.连接.执行。
谢谢你的尽心帮助。
您可以尝试从您的应用程序运行它:
system("rake db:setup")
rake db:setup
rake db:schema:load
这将创建一个数据库(如果不存在)并将 a 加载schema.rb
到数据库中。如果您不想使用rake
,可以将模式存储为原始 sql 并加载它。
您可以使用备份gem 进行备份。
我不知道我是否理解正确,但是
您可以使用 seed.rb 以便创建表条目,例如:
Person.create(email: "tom@mail.com", firstname: "Tom", phone: "0049-0")
然后做一个
rake db:seed
在控制台中
您可以使用 'load "path/to/schema.rb" 加载它,它将从当前打开的连接创建数据库