2019-07-09 19:57:31 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class BackupMetadata < ActiveRecord::Base
|
2020-01-16 06:19:13 +08:00
|
|
|
LAST_RESTORE_DATE = "last_restore_date"
|
|
|
|
|
2019-07-09 19:57:31 +08:00
|
|
|
def self.value_for(name)
|
2023-02-13 12:39:45 +08:00
|
|
|
where(name: name).pick(:value).presence
|
2019-07-09 19:57:31 +08:00
|
|
|
end
|
2020-09-11 03:37:42 +08:00
|
|
|
|
|
|
|
def self.last_restore_date
|
|
|
|
value = value_for(LAST_RESTORE_DATE)
|
|
|
|
value.present? ? Time.zone.parse(value) : nil
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.update_last_restore_date(time = Time.zone.now)
|
|
|
|
BackupMetadata.where(name: LAST_RESTORE_DATE).delete_all
|
|
|
|
BackupMetadata.create!(name: LAST_RESTORE_DATE, value: time.iso8601)
|
|
|
|
end
|
2019-07-09 19:57:31 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: backup_metadata
|
|
|
|
#
|
|
|
|
# id :bigint not null, primary key
|
|
|
|
# name :string not null
|
|
|
|
# value :string
|
|
|
|
#
|