Files
once-campfire/script/admin/prepare-backup
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

28 lines
689 B
Ruby
Executable File

#!/usr/bin/env ruby
require File.expand_path("../../config/environment", File.dirname(__FILE__))
class Backup
class << self
def create
dest = SQLite3::Database.new(backup_filename)
backup = SQLite3::Backup.new(dest, "main", Room.connection.raw_connection, "main")
backup.step(-1)
backup.finish
dest.close
end
private
def backup_filename
Rails.root.join("storage", "backups").tap(&:mkpath).join(primary_database_filename)
end
def primary_database_filename
path = Rails.application.config.database_configuration[Rails.env]["primary"]["database"]
File.basename(path)
end
end
end
Backup.create