Воссоздать таблицу пользователей разработки из Excel - PullRequest
0 голосов
/ 23 октября 2018

Я хочу использовать в качестве резервной копии таблицы базы данных в Excel, чтобы иметь возможность заново заполнять базу данных с нуля.

Пока все работает нормально, кроме модели devise users.

Код выглядит следующим образом:

*users.rb*

  def self.import(file)
    spreadsheet = Roo::Spreadsheet.open(file.path)
    header = spreadsheet.sheet(0).row(1)    #sheet(0) is the first sheet

    (2..spreadsheet.sheet(0).last_row).each do |i|
      row = Hash[[header, spreadsheet.sheet(0).row(i)].transpose]
      user = find_by(fullname: row["Fullname"]) || new

      user.update_fields(row) 

    end
  end

  def update_fields(fields)
    self.fullname = fields["Fullname"]
    self.email = fields["Εmail"]
    self.role = fields["Role"]
    self.encrypted_password = fields["Enc. Password"]
    self.reset_password_token = fields["Password Token"]
    self.confirmed_at = fields["Confirm. Date"]
    self.confirmation_sent_at = fields["Confirm. SentAt"]
    self.confirmation_token = fields["Confirm. Token"]

    self.save!
  end

При выполнении сохранения появляется ошибка отката, что пароль не может быть пустым.Я запутался, потому что в базе данных, похоже, нет пароля.То, что кажется сохраненным, - это зашифрованный пароль, который Я импортирую из Excel (поэтому он не пуст).

Есть идеи?

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