2013-03-21 3 views
1

rake db : migrate 명령을 수행 할 때 다음 오류가 계속 발생합니다.레이크 db : 마이그레이션 오류 - SQLite3

레이크가 중단되었습니다. 취소 오류가 발생했습니다,이 모든 나중에 마이그레이션 : sqlite3를 ::되는 SQLException : 이메일을 : 열 이름을 중복 TABLE을 ALTER "사용자가"NULL NOT "이메일"VARCHAR (255) DEFAULT '을'ADD

내가했습니다 또한 명령 - 번들 exec rake db : migrate를 시도했습니다. 나는 추적으로 달리고 정보를 얻었다. 이하.

** DB를 호출 : 을 (first_time) 마이그레이션 ** 환경 실행 ** 환경 (first_time) 를 호출 ** DB를 호출 : load_config ** DB 실행 : load_config (first_time) 를 ** DB가 실행 이전 == AddDeviseToUsers : 마이그레이션 ================================== === - change_table (: users) 레이크 중단되었습니다! 가 오류가 발생했습니다,이 모든 나중에 마이그레이션이 취소 :

sqlite3를 ::되는 SQLException : 이메일 : 열 이름을 중복 TABLE을 ALTER "사용자"가 "이메일"VARCHAR (255) DEFAULT ''를 추가하지 NULL 는/usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/database.rb : 91 : initialize' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:91:in에서 새 ' /usr/local/rvm/gems/ruby-1.9. 3-p392/gems/sqlite3-1.3.7/lib/sqlite3/database.rb : 91 : prepare' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:134:in에서 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2'를 실행하십시오. 12/lib/active_record/connection_adapters/sqlite_adapter.rb : 278 : block in execute' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract_adapter.rb:280:in 로그 블록 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/ 알림/instrumenter.rb : 20 :에로그 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/sqlite_adapter.rb:278:in execute' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/schema_statements.rb:264:in add_column' /usr/local /rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/sqlite_adapter.rb:400:in add_column' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/schema_definitions.rb:479:in 문자열의 블록 ' /usr/local/rvm/gems/ruby -1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/schema_definitions.rb : 468 : each' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/schema_definitions.rb:468:in 문자열 ' /Users/ddorrick/code/onrails/db/migrate/20130321170702_add_devise_to_users.rb : 5 :에서 block in up' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/schema_statements.rb:243:in change_table ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:466:in say_with_time의 블록' /usr/l ocal/rvm/rubies/ruby-1.9.3-p392/lib/ruby ​​/ 1.9.1/benchmark.rb : 280 : measure' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:438:in say_with_time ' /usr/local/rvm/gems/ruby-1.9.3-p392/ 보석/액티브-3.2.12/lib 디렉토리/active_record/migration.rb : 458 : method_missing' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:334:in method_missing에서 ' /Users/ddorrick/code/onrails/db/migrate/20130321170702_add_devise_to_users.rb:3:in up' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:370:in까지' 는/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb : 410 : block (2 levels) in migrate' /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/benchmark.rb:280:in 측정 값 ' /usr/local/rvm/gems/ruby-1.9. 3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb : 410 : block in migrate' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/connection_pool.rb:129:in with_with_connection ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2. 12/lib/active_record/migration.rb : 389 : migrate' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:528:in에서 마이그레이션 ' /usr/local/r/support/rbm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/p392/gems/activerecord-3.2.12/lib/active_record/migration.rb : 775 : block in ddl_transaction' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in 거래 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/ lib/active_record/transactions.rb : 208 : transaction' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:775:in에서 ddl_transaction ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb : 719 : block in migrate' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:700:in 각 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2. 12/lib/active_record/migration.rb : 700 : migrate' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb:570:in까지 ' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/migration.rb : 551 : ' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/task.rb:228:in의 migrate' /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/railties/databases.rake:179:in 블록 (2 단계) call' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/task.rb:228:in 실행중인 블록 ' /usr/local/rvm/gems/[email protected]/rake-10.0.3/lib/rake/task.rb:223:in each' /usr/local/rvm/gems/rub[email protected]/gems/rake-10.0.3/lib/rake/task.rb:223:in'실행 /usr /local/rvm/gems/[email protected]/rake-10.0.3/lib/rake/task.rb:166:in block in invoke_with_call_chain' /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize ' /usr/local/rvm/gems/ruby [email protected] bal/gems/rake-10.0.3/lib/rake/task.rb : 159 : invoke_with_call_chain' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/task.rb:152:in에서 ' /usr/local/rvm/gems/[email protected]/gems/rake-10.0을 호출하십시오. 3/lib/rake/application.rb : 143 : in 블록 (2 레벨) in top_level ' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/ lib/rake/application.rb : 101 : 최상위 레벨 ' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/application에있는 each' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/application.rb:101:in 블록. rb : 110 : in run_with_threads' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/application.rb:95:in top_level ' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/application.rb:73:in block in run' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/lib/rake/application.rb:160:in standard_exception_handling' /usr/local/rvm/gems/[email protected]/rake-10.0.3/lib/rake/application.rb:70:in run' /usr/local/rvm/gems/[email protected]/gems/rake-10.0.3/bin/rake:33:in ' /usr/local/rvm/gems /[email protected]/ 빈/레이크 : 19 : 작업 ' eval' /usr/local/rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in /usr/local/rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in'load' /usr/local/rvm/gems/[email protected]/bin/rake:19:in에서 : TOP => DB : 이전

답변

0
First of all, if you're using devise for authentication,email field is provided by default. The source for the error is: "The email field is also present in users table. That's why whenever you're run db:migrate it shows duplicate column error. 

So drop the users table by giving command ActiveRecord::Migration.drop_table(:users)" in rails console. 

Then, give rails g model user user_name:string mobile_number:integer 

Hope it will helps. 
관련 문제