2011-12-27 6 views
0

私は、PostgreSQLバックエンドを持つRails 3.1.3のプロジェクトの開始時です。Active Adminロールバック:「検証に失敗しました:電子メールはすでに取得済みです」

私はいくつかのモデルを生成し、Active Admin gemを追加しました。 ちょっと後で私は2つのモデルを組み合わせて、最初にロールバックして1つのモデルを削除し、正しいスキーマで移行を再開することを決めました。

私は、型付き:

rake db:rollback step=10 

それはそれはロールバック中止されたときに、アクティブ管理ビットまでうまくいった:

$ 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 

を私はすべてのユーザーを追加していないので、これはおそらくです'[email protected]'アカウント。

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' 
+0

これを修正しましたか?同じ問題がある... –

答えて

0

はどのように正確に、あなたは、2段階に分けて、10ステップのロールバックをしましたか?あなたが提示する質問は、あなたに良い答えを与えるのが難しい、少し具体的なものです。別に情報

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

のこの作品にあなたを指しているから、私はあなたが

AdminUser.create 

文にすべてのあなたの移行を確認してください示唆しています。また、レールコンソールを使用してAdminUserを手動で削除することもできます。

0

run rake db:resetロールバック前。

0

devise_create_admin_usersの移行では、migrate:upでデフォルトのユーザーが作成されますが、次にrollback/migrate:downで再度作成されます。電子メールがすでに存在するため、検証エラーです。

「AdminUser.create!」をコメントアウトしてください。ロールバックする前にアンコメントしてください。

関連する問題