我有一个连接到第二个外部数据库的Rails 4应用程序。所以我将数据库凭据添加到我的database.yml
文件中,并将其从git
中的版本控制中排除。我需要使用push
Heroku
Capistrano
Capistrano 3
进行部署。
我发现了一些针对此任务提出的问题,但它们并不适用于我,而且在capistrano
发布之前就已经得到了解答。
我通过添加:{/ p>来设置group :development, :test do
gem 'capistrano-rails', '~> 1.1.1'
end
bundle install
和
按照安装说明中的说明运行bundle exec cap install
然后database.yml
。
我在我的应用中创建了一个新文件夹并将myApp/shared/config/database.yml
文件复制到那里:deply.rb
(不确定是否有必要)
最后,我在after "deploy:update_code","deploy:config_symlink"
namespace :deploy do
task :config_symlink do
run "cp #{shared_path}/shared/config/database.yml #{release_path}/config/database.yml"
end
end
中创建了以下任务:
Heroku
当推送到/app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection': 'pg_development' database is not configured. Available: ["production"] (ActiveRecord::AdapterNotSpecified)
时,这不起作用并引发错误:
production.rb
我尝试将此任务放在set :linked_files, %w{config/database.yml}
文件中,并将development.rb
添加到database.yml
文件中。
有人可以帮助我将Heroku
文件投放到 ^ - Start of the line
\s - Single whitespace character (space or tab or line return)
* - 0 or more of the previous item
\s* - Zero or more whitespace characters
[] - Character class. Matches any of the characters or groups of characters
contained
[\w\s.] - Matches a word character, a whitespace character or a period ('.')
[\w\s.]* - Matches 0 or more of the above
$ - End of the line
生产?