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