执行rake db:migrate时的两个错误

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:         rails的确是来的方便,一个rails generate scaffold命令下来就可以生成view、controller和model的所有文件,然后再执行rake db:migrate就可以生成相应的数据库表结构。

        rails的确是来的方便,一个rails generate scaffold命令下来就可以生成view、controller和model的所有文件,然后再执行rake db:migrate就可以生成相应的数据库表结构。而就是这个简单的rake db:migrate却产生了预想不到的问题:

         首先交代一下背景:rails创建项目时,默认使用了SQLite数据库。为了快速上手,我换成了MySQL,也修改了相应的配置文件config/database.yml。

         第一个问题

                 rake aborted!

                 uninitialized constant Rake:DSL

        原因:默认安装的rake版本过低,不兼容

        解决办法:升级rake

        步骤:1. 安装0.9.2版本的rake,gem install rake -version=0.9.2

                     2. 卸载原来版本(可以通过gem -list rake查看当前安装的版本), gem uninstall rake -version=0.8.7

                     3. 更新所有组件,bundle update

         4.运行 rake db:migrate。于是出现第二个问题。


   第二个问题

         rake aborted!

         Mysql::Error: query: not connected: SHOW TABLES

   原因:MySQL5.1自带的libmySQL.dll和当前的rails不兼容

   解决办法:使用旧版本替换。

   步骤:1. 下载旧版本的libmySQL.dll: http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

        2. 将下载的文件放到%RUBY_HOME/bin目录下。

 

   参考:

   http://stackoverflow.com/questions/6085610/rails-rake-problems-uninitialized-constant-rakedsl

       http://rordiary.com/blog/tag/mysql/

   

    

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
数据可视化 BI 数据库
Superset执行「superset db upgrade」命令的报错记录
Superset执行「superset db upgrade」命令的报错记录
1055 0
Superset执行「superset db upgrade」命令的报错记录
|
6月前
|
Linux 数据库 数据库管理
深入探索Linux命令:db_verify
探索Linux下的`db_verify`模拟工具,用于检查数据库完整性和一致性。功能包括:验证数据结构、检测损坏记录、提供修复建议及生成报告。使用时,如`db_verify mydatabase`扫描指定数据库文件。验证前务必备份,谨慎操作,并参考文档了解具体用法。数据库验证对于维护数据的可靠性和可用性至关重要。
|
7月前
oralce check 命令
oralce check 命令
47 1
|
关系型数据库 数据库 Ruby
记录一次 bin/rails db:migrate 报错
记录一次 bin/rails db:migrate 报错
93 0
|
数据库 Python
执行superset db upgrade初始化Supetset数据库时报错ImportError: cannot import name ‘soft_unicode’ from ‘markupsaf
执行superset db upgrade初始化Supetset数据库时报错ImportError: cannot import name ‘soft_unicode’ from ‘markupsaf
246 0
|
数据可视化 数据库管理
SVN更新Cleanup提示database is locked
之前使用svn更新代码的时候遇到的问题
671 0
SVN更新Cleanup提示database is locked