当前位置: 首页 > 知识库问答 >
问题:

运行rake DB时出现mysql错误:在Windows中迁移

曹兴贤
2023-03-14

我正在做一个项目,把我的数据库从sqlite3切换到mysql。所有的配置都做得很好,但是当我在Windows机器上运行rake db:migrate时,我遇到了错误。

null

PS D:\workspace\hrms> rake db:migrate
rake aborted!
LoadError: Could not load 'active_record/connection_adapters/mysql2_adapter'. Make sure that the adapter in config/datab
ase.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapte
r gem to the Gemfile.
D:/workspace/hrms/config/environment.rb:5:in `<top (required)>'
LoadError: cannot load such file -- mysql2
D:/workspace/hrms/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

null

这是我的windows database.yml文件

默认:&default适配器:mysql2编码:utf8池:5用户名:root密码:****socket:/var/run/mysqld/mysqld。sock开发:<<:*默认数据库:hrms_development test:<<:*默认数据库:hrms_test生产:<<:*默认数据库:hrms_production用户名:hrms密码:<%=env['hrms_database_password']%>

它是正确的...还是我需要包括一些更多的设置???????????????????????????????????

*extconf.rb失败*由于某种原因无法创建Makefile,可能是缺少必要的库和/或头。有关详细信息,请查看mkmf.log文件。您可能需要配置选项。

提供的配置选项:--with-opt-dir--with-opt-include--without-opt-include=${opt-dir}/include--with-opt-lib--with-opt-lib=${opt-dir}/lib--with-make-prog--with-make-prog--with-make-prog--srcdir=。--curdir--ruby=d:/ruby21-x64/bin/ruby--with-mysql-include-with-mysql-include-without-mysql-include=${mysql-dir}/include-with-mysql-lib-without-mysql-lib=${mysql-dir}/lib

要查看此扩展未能编译的原因,请查看mkmf.log,该日志可在以下位置找到:

d:/Ruby21-X64/Lib/Ruby/Gems/2.1.0/Extensions/X64-MingW32/2.1.0/mysql2-0.4.5/mkmf.log

extconf失败,退出代码%1

共有1个答案

陈鸿才
2023-03-14

原因可以有两个;

  1. 您没有在database.yml中正确指定适配器
  2. 您错过了向gem文件添加必要的gem。

请分享您的rails版本,并尝试使用'mysql'作为适配器。

 类似资料:
  • 我正在尝试在Anaconda中导入pyspark并运行示例代码。然而,每当我尝试在Anaconda中运行代码时,我都会得到以下错误消息。 错误:py4j.java_gateway:尝试连接到Java服务器时出错(127.0.0.1:53294)追溯(最近一次调用):文件“C:\spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py”,第1

  • 我在Windows7中有cygwin,下载并安装了maven“二进制文件”,并有以下设置 我错过了什么?

  • c: 我在cli中尝试了以下命令 c: 然后执行命令 c: 它给出了以下结果 当我运行命令cordova create hello com时。实例你好,HelloWorld 上面说 “cordova”不被识别为内部或外部命令、可操作程序或批处理文件。 我不明白问题是什么,为什么它不允许我创建项目,有时它创建项目,但不允许添加平台。 环境变量路径值为 %SystemRoot%\system32;%S

  • 在我的环境中设置了JAVA_HOME之后,我在运行pig时得到了以下结果: 当我这么做的时候: 但是在我的环境中,JAVA_HOME是这样设置的: 运行于:Ubuntu 10.04.4 LTS java:java版本“1.6.0_21”Hadoop版本:Hadoop-0.20.203 PIG版本:PIG-0.11.1 env:term=Xterm shell=/bin/bash xdg_sessi

  • 代码: pom.xml依赖项: 我不明白发生了什么事,有人能帮忙吗?

  • 我在Heroku的./bin文件夹中有这个脚本。该脚本调用parse cloud函数。 脚本运行时没有错误 Heroku控制台日志显示如下输出。云函数有一些console.log语句,但是它们的输出也没有出现。 heroku[router]:at=info-method=POST-path=“/parse/functions/resetJob”host=app.herokuapp。com requ