基本的にMySQLのデプロイと同じですが、sqliteの場合はデータベースをファイル(production.sqlite3など)で管理しているので、デプロイするたびに新しくデータベースのファイルが作成されてしまうという現象がおきました。
これには、dbを作成する直前に以前のdb/<環境変数>.sqlite3
のデータをcurrentのdb以下にコピーするようにして対応しました。
namespace :deploy do
task :copy_sqlite do
on roles(:db) do
execute :cp, "#{current_path}/db/#{fetch(:rails_env)}.sqlite3", "#{release_path}/db/"
end
end
# db作成などのタスク
before :updated, 'copy_sqlite'
# db作成などの処理
end