Ruby 在 Rails 上部署 Capistrano sqlite 数据库无架构

Ruby on Rails deploy Capistrano sqlite db no schema

当尝试使用 Capistrano 在 Rails 应用程序上将 Ruby 部署到 Ubuntu 14 服务器时,我遇到了一个问题,sqlite3 数据库文件总是被创建,但没有架构加载时,Capistrano 部署总是失败。当我检查远程服务器上的目标数据库文件夹时,创建了 *.sqlite3 数据库文件,但它绝对是空的。我试图添加 capistrano 任务来加载模式,但它并没有解决问题。

  desc 'Initial Deploy'
  task :initial do
    on roles(:app) do
      execute 'cd #{current_path}; rake db:schema:load'
      before 'deploy:restart', 'puma:start'
      invoke 'deploy'
    end
  end

我也在本地注意到,当调用 rake db:setup 数据库 模式未加载 ,我必须手动调用 rake db:schema:load 到 运行 本地应用程序,但我如何在 Capistrano 部署范围内完成它?

使用 Capistrano,数据库的初始设置是手动的。

这是讨论解决此问题的选项的票证:https://github.com/capistrano/rails/issues/118