Откат Active Admin: «Проверка не удалась: электронная почта уже получена» - PullRequest
0 голосов
/ 28 декабря 2011

Я нахожусь в начале проекта в Rails 3.1.3 с бэкэндом postgresql.

Я создал несколько моделей, а затем добавил гем Active Admin .Чуть позже я решил, что мне нужно объединить две модели, и хотел откатиться к началу, чтобы удалить одну модель и перезапустить миграцию с правильной схемой.

Я набрал:

rake db:rollback step=10

Дошло до бита Active Admin , когда он прервал откат:

$ rake db:rollback
==  DeviseCreateAdminUsers: reverting =========================================
rake aborted!
An error has occurred, this and all later migrations canceled:

Validation failed: Email has already been taken

Tasks: TOP => db:rollback

Я не добавил ни одного пользователя, так что это, вероятно, пример admin @.com 'account.

Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.3'

gem 'pg'
gem 'json'
gem 'activeadmin'
gem 'sass-rails',   '~> 3.1.5'
gem 'meta_search',    '>= 1.1.0.pre'
gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"
gem 'mechanize'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'less-rails-bootstrap'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

Ответы [ 3 ]

0 голосов
/ 23 января 2012

пробег rake db:reset до отката.

0 голосов
/ 30 июня 2012

Миграция devise_create_admin_users создает пользователя по умолчанию при переносе: вверх, но затем пытается создать его снова при откате / переносе: вниз. Отсюда ошибка проверки, так как электронная почта уже существует.

Просто закомментируйте «AdminUser.create!» перед откатом, а затем раскомментируйте его при откате.

0 голосов
/ 12 января 2012

Как именно вы сделали откат на 10 шагов, в 2 этапа? Вопрос, который вы задаете, немного занижен, трудно дать вам хороший ответ. Помимо указания на эту информацию

http://en.wikibooks.org/wiki/Ruby_on_Rails/ActiveRecord/Migrations#Managing_Migrations

Я предлагаю вам проверить все ваши миграции на

AdminUser.create

заявление. Вы также можете вручную удалить AdminUser с помощью консоли rails.

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