Ruby on Rails: резервное копирование в Rails 5.2 с использованием информации в credentials.yml.enc - PullRequest
0 голосов
/ 05 октября 2018

Кто-нибудь сумел заставить гем Backup работать в Rails 5.2 и получать информацию из credentials.yml.enc?

У меня есть приложение Rails, которое было написано с нуля в Rails 5.2 и имеет базу данных PostgreSQLподкрепляя это.Я хотел бы иметь автоматическое резервное копирование базы данных, которое в настоящее время планирую сделать с использованием гемов Backup и Whenever.

Я установил гем backup и сгенерировал файлы конфигурации:

gem install backup -v5.0.0.beta.2
backup generate:model --trigger=db_backup --databases="postgresql" --storages="local" --compressor="gzip" --notifiers="mail"

Затем я переместил папку резервного копирования, созданную из корневого каталога на моем компьютере разработчика, в папку конфигурации приложения.

Если я жестко закодирую все параметры в файле db_backup.rb, я могу успешновыполнить резервное копирование базы данных разработки через командную строку с помощью:

backup perform -t db_backup --config-file 'my_rails_app/config/Backup/config.rb'

Однако, если я настраиваю одну строку в моем db_backup.rb с db.username = my_username до db.username = Rails.application.credentials.username, я получаю следующую ошибку:

NameError: uninitialized constant #<Class:#<Backup::Config::DSL:0x00007fb0db941d10>>::Rails

Я создал очень простой db_backup.rb для проверки этого - приведенный ниже код работает нормально, если значение жестко закодировано, если оно ссылается на файл учетных данных. Я получаю сообщение об ошибке выше:

Model.new(:db_backup, 'Description for db_backup') do
  ##
  # PostgreSQL [Database]
  #
  database PostgreSQL do |db|
    db.username = Rails.application.credentials.username
  end
end

Предыдущие сообщения, которые я поместил в StackOverflow ( Ruby on Rails: Различия в поведении в консоли / в файле .rb ) определили, что проблемаlem вызван тем, что гем backup устанавливается внешне в приложение Rails (как предлагается в их документации).Я попытался вызвать скрипт backup из файла rake, но он ошибся с NameError: uninitialized constant Model

Может кто-нибудь предложить, как я могу запустить скрипт резервного копирования, а также получить значения параметров непосредственно из credentials.yml.enc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...