2017-02-09 79 views
0

我试着运行数据库:迁移在我的应用程序,我得到这个错误。不知道是什么原因。Mysql连接适配器错误

  • 我的数据库是使用MySQL的64位连接器的MySQL
  • 红宝石版本:红宝石2.2.6p396(2016年11月15日修订56800)I386-的mingw32] 我已经做了谷歌搜索,我没有得到任何东西......任何人都可以解释这个错误吗?

    NotImplementedError:NotImplementedError C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:85:在exec_query' C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:377:in 'select_prepared' C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:39:in select_all' C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:95:in select_all' C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/querying.rb:39:in find_by_sql' C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/relation.rb:702:在`exec_queries'中

    C:/ RailsInstaller/Ruby2.2.0/lib/ruby​​/gems/2.2.0/gems/rake -12.0.0/exe/rake:27:在<top (required)>' C:/RailsInstaller/Ruby2.2.0/bin/rake:23:in加载' C:/RailsInstaller/Ruby2.2.0/bin/rake:23:在'” 任务:TOP => DB:

迁移

回答

0

你可以试试这个..

检查您的config/database.yml文件。

config/database.yml必须看起来像和usernamepassword应该是改变你的mysqlusernamepassword ..

default: &default 
    adapter: mysql2 
    encoding: utf8 
    pool: 5 
    username: username 
    password: password 
    socket: /var/run/mysqld/mysqld.sock 

development: 
    <<: *default 
    database: uBuild-rails_development 

test: 
    <<: *default 
    database: uBuild-rails_test 


production: 
    <<: *default 
    database: uBuild-rails_development 
    username: username 
    password: password 

还要检查你Gemfile

gem 'mysql2', '< 0.3' # as stated above 
+0

我的database.yml类似,但我仍然有同样的问题'发展: 适配器:mysql2 编码:UTF8 #reconnect:false database:inventorydb_development pool:5 username:root password:password socket:/ tmp/mysql.sock' – napoleon

0

我有同样的问题,是什么我做的是使用这个命令再次创建项目:

rails new my_project -d=mysql 

这种方式可以自动创建database.yml和gemfile中的配置,以避免问题。你只需要在此之后编辑database.yml的mysql的密码,您可以使用

rails g scaffold Examples attrib1:string attrib2:string 

创建视图等

rake db:create 

创建数据库,然后

rake db:migrate 

希望这会有所帮助。 ..

0

数据库文件在config/database中。阳明海运和配置是下面的命令来设置数据库

default: &default 
    adapter: mysql2 #if use postgres the add postgresql 
    pool: 5 
    timeout: 5000 
    username : username #mysql username 
    password : password #mysql password 

development: 
    <<: *default 
    database: application_name 

test: 
    <<: *default 
    database: application_name 

production: 
    <<: *default 
    database: application_name 

运行:

run rake db:create 

run rake db:migrate