如何在使用用户输入部署后为数据库播种?
How to seed the database after deployment with user input?
我想在部署后用秘密数据为数据库播种,例如管理员的姓名和电子邮件。我在文件 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
我只看到第一行 "Enter e-mail for admin:",我输入了电子邮件并点击了回车,但没有任何反应,就好像控制台无法识别任何东西一样。
如何使用控制台将我的秘密数据植入数据库?
版本:capistrano 3.4.1、rails5.0.1、ruby2.4.0。
卡了好久都没解决。
然后我解决了在我的生产数据库中手动添加这些信息的问题。这样我做种的时候就不需要输入任何东西了。
其他种子文件,我直接调用
cap production rails:rake:db:seed
哪个种子保存在生产目录中的所有文件。
我希望这个变通解决方案可以帮助某人。
我想在部署后用秘密数据为数据库播种,例如管理员的姓名和电子邮件。我在文件 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
我只看到第一行 "Enter e-mail for admin:",我输入了电子邮件并点击了回车,但没有任何反应,就好像控制台无法识别任何东西一样。
如何使用控制台将我的秘密数据植入数据库?
版本:capistrano 3.4.1、rails5.0.1、ruby2.4.0。
卡了好久都没解决。
然后我解决了在我的生产数据库中手动添加这些信息的问题。这样我做种的时候就不需要输入任何东西了。
其他种子文件,我直接调用
cap production rails:rake:db:seed
哪个种子保存在生产目录中的所有文件。
我希望这个变通解决方案可以帮助某人。