ActiveRecord :: StatementInvalid:Mysql2 ::错误:未知整理:' utf8_0900_ai_ci'

时间:2017-10-04 02:55:11

标签: mysql ruby-on-rails ruby ruby-on-rails-3

我是一个新手,试图通过使用ROR 5.0和mysql 8.02的Lynda视频系列来学习ruby on rails。在DB> migrate> model.rb文件中创建表条目并运行" rails db:migrate"我在终端中收到一个错误,但没有多大意义。 iv使用不同的用户并使用mysql特权并在网上搜索但没有运气。

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

类CreateUsers< ActiveRecord的::迁移[5.0]

def up     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

def down

drop_table :users

MBP:simple_cms $ rails db:migrate 铁轨中止了! ActiveRecord :: StatementInvalid:Mysql2 ::错误:未知归类:' utf8_0900_ai_ci':CREATE TABLE schema_migrationsversion varchar(255)COLLATE utf8_0900_ai_ci PRIMARY KEY)ENGINE = InnoDB /Users/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.9/lib/mysql2/client.rb:120:in _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 log' /Users/.rvm/gems/ruby-2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:218:in 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:in 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'

2 个答案:

答案 0 :(得分:0)

您的问题存在问题:https://github.com/rails/rails/issues/28730

这已在rails v5.1.0.rc2中修复。升级到最新版本并重新生成schema.rb可以消除您的问题。

答案 1 :(得分:0)

如果collation不起作用,也可以在您的database.yml上添加常规utf8_0900_ai_ci

development:
  adapter: mysql2
  ...
  encoding: utf8
  collation: utf8_general_ci