2017-10-04 10 views
0

ROR 버전 5.0 및 mysql 8.02를 사용하여 Lynda 비디오 시리즈를 따라 레일즈에서 루비를 배우려는 초보자입니다. DB> migrate> model.rb 파일에 내 테이블 항목을 만들고 "rails db : migrate"를 실행 한 후 터미널에서 많은 의미를 갖지 않는 오류가 발생합니다. iv 다른 사용자를 사용하고 mysql 권한을 격자로 만들고 웹에서 검색하지만 운이 없다.ActiveRecord :: StatementInvalid : Mysql2 :: 오류 : 알 수없는 데이터 정렬 : 'utf8_0900_ai_ci'

=============================

클래스 CreateUsers < 액티브 :: 마이그레이션 [5.0]

데프 업 create_table : 사용자는 | t |

t.column "first_name", :string, :limit => 25 
    t.string "last_name", :limit => 50 
    t.string "email", :default => '', :null => false 
    t.string "password", :limit => 40 

    t.timestamps 
end 

데프 아래

drop_table :users 

MBP : $ 레일 DB를 simple_cms : 중단 레일을 마이그레이션! 액티브 :: StatementInvalid : Mysql2 : 오류 : 알 수없는 정렬 : 'utf8_0900_ai_ci': CREATE TABLE schema_migrations 엔진 (version VARCHAR (255) utf8_0900_ai_ci PRIMARY KEY COLLATE) = 이노 /Users/.rvm/gems/ruby-2.3.0/ gems/mysql2-0.4.9/lib/mysql2/client.rb : 120 : _query' /Users/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.9/lib/mysql2/client.rb:120:in 쿼리 블록 ' /Users/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.9/lib/mysql2 /client.rb:119:in handle_interrupt' /Users/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.9/lib/mysql2/client.rb:119:in query ' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:218:in block in execute' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract_adapter.rb:590:in 블록 로그 ' /Users/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.6/lib/active_support/notifications/instrumenter.rb:21:in instrument' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract_adapter.rb:583:in 로그' /Users/.rvm/gems/ ruby-2.3.0/gems/activerecord-5 .0.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb : 218 : execute' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/mysql/database_statements.rb:31:in에서 ' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/'를 실행하십시오. schema_statements.rb : 278 :에 create_table' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:423:in CREATE_TABLE ' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/schema_migration.rb:27:in create_table' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:1008:in initialize_schema_migrations_table'

+0

*** 제게 많은 의미가 없습니다. iv 다른 mysql 사용자를 사용하고 mysql 권한을 부여하고 웹에서 검색하지만 운이 없다. –

+0

당신은'show variables like 'collation_database';의 출력을 붙여 주실 수 있겠습니까? – bitsapien

+0

응답을 주셔서 감사합니다 .... 어디에서 찾을 수 있습니까? MySQL 또는 명령 줄 터미널에? –

답변

0

문제와 관련된 문제가 발생했습니다. https://github.com/rails/rails/issues/28730

이 내용은 rails v5.1.0.rc2으로 수정되었습니다. 최신 버전으로 업그레이드하고 schema.rb을 재생성하면 문제가 해결됩니다.

+0

내 레일 버전은 레일 5.0.6이고 "번들 업데이트 레일"을 사용했지만 5.1로 업데이트되지 않습니다. 또한 '레일', '~> 5.1'을 시도했지만 오류가 발생했습니다 ... .. 새로운 버전으로 레일을 업데이트하는 것이 쉽지 않을까요? –

+0

'번들 업데이트는'부 버전 만 최신으로 푸시합니다. 먼저 gemfile의 버전을'gem 'rails', '~> 5.1 ''로 변경 한 다음'번들 업데이트 레일즈'를 실행하십시오. 그러면 오류가 발생하지 않습니다. – bitsapien

+0

고쳐 주셔서 감사합니다! mysql 당신의 남자 bitapien 지금 내 테이블을 볼 수 있습니다. –