我正在尝试使用mina部署我的应用。 当它开始运行迁移时,我收到了这个错误:
-----> Migrating database
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:
config.secret_key = 'key here.......'
Please ensure you restarted your application after installing Devise or setting the key.
.........
在我的设计初始化程序中,我有config.secret_key = ENV["SECRET_KEY_BASE"]
如何将此密钥添加到我的应用中? secret_key_base和secret_key有什么不同吗?
这可能很愚蠢,但我不知道如何添加此密钥。
本地一切正常
ps我正在使用figaro
答案 0 :(得分:1)
打开你的rails app文件夹转到
配置/初始化/ devise.rb
并在最后粘贴这行代码:
config.secret_key = *****
其中*****是控制台在弹出错误时为您提供的字符串。
作为环境变量:
如果你想要一个环境变量,你可以采用不同的方式,例如将上面的代码行替换为:
config.secret_key = ENV['DEVISE_SECRET_KEY']
然后你可以在keys.yml文件上创建一个变量并将其添加到你的./gitignore文件中。
之后您可以将yaml文件导入您的应用程序,如下所示:
配置/ application.rb中:
ENV.update YAML.load(File.read(File.expand_path('../keys.yml', __FILE__)))
module yourApp
...
...
end
答案 1 :(得分:1)
我添加了
set :shared_paths, ['config/database.yml', 'log', 'config/secrets.yml']
到我的deploy.rb
,它解决了我的问题。
在secrets.yml
我设置DEVISE_SECRET