我希望在部署后使用秘密数据为数据库设定种子,例如管理员的姓名和电子邮件。我在db / seeds / production / admin.seeds.rb文件中写了以下内容:
STDOUT.puts "Enter e-mail for admin:"
email = STDIN.gets.strip.downcase
STDOUT.puts "Enter password for admin:"
pw = STDIN.gets.strip
STDOUT.puts "Re-enter password for admin:"
pwc = STDIN.gets.strip
u = User.create(email: email, password: pw, password_confirmation: pwc,
name: "Administrator", capabilities:"admin")
if u.save
STDOUT.puts "Admin account created!"
else
STDOUT.puts "Something went wrong!"
end
但是当我打电话时
cap production rails:rake:db:seed
我只收到第一行“输入管理员的电子邮件:”,我输入了电子邮件并点击了输入,但没有任何反应,好像控制台无法识别任何内容。
如何使用控制台为我的秘密数据播种数据库?
版本:capistrano 3.4.1,rails 5.0.1,ruby 2.4.0。
答案 0 :(得分:0)
我在那儿呆了很长时间,没有任何解决办法。
然后,我通过在生产数据库中手动手动添加这些信息来解决了这个问题。这样我播种时无需输入任何内容。
对于其他种子文件,我只是打电话
cap production rails:rake:db:seed
将所有保存在生产目录中的文件作为种子。
我希望这种解决方法可以帮助某人。