如果新电脑是刚安装的mysql,但是旧电脑迁移过来的文件里面有相关的rails文件,运行rake db:migrate一直报错

ruby 复制代码
$ bundle exec rake db:migrate

#运行完命令报错
rake aborted!
LoadError: libmysqlclient.so.21: cannot open shared object file: No such file or directory - /home/meiyi/.asdf/installs/ruby/2.6.9/lib/ruby/gems/2.6.0/gems/mysql2-0.5.5/lib/mysql2/mysql2.so
/home/meiyi/Blog/blog/config/application.rb:7:in `<top (required)>'
/home/meiyi/Blog/blog/Rakefile:4:in `require'
/home/meiyi/Blog/blog/Rakefile:4:in `<top (required)>'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `load'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)

在运行 bundle exec rake db:migrate 命令时遇到了一个加载错误。错误信息指出缺少名为 libmysqlclient.so.21 的共享对象文件。

使用命令:

ruby 复制代码
sudo apt-get install libmysqlclient-dev

然后再运行 rake db:migrate

ruby 复制代码
$ bundle exec rake db:migrate

#运行完命令报错
rake aborted!
ActiveRecord::NoDatabaseError: Unknown database 'blog'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `load'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `<main>'

Caused by:
Mysql2::Error: Unknown database 'blog'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `load'
/home/meiyi/.asdf/installs/ruby/2.6.9/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

发现说应用程序无法连接到名为 'blog' 的数据库,因为它被识别为未知数据库。

可以尝试以下步骤:

  1. 确认数据库配置:确保您的应用程序的数据库配置与实际的数据库设置匹配。在您的项目中的 config/database.yml 文件中检查数据库配置。确保数据库名称(例如 'blog')与实际的数据库名称匹配,并且数据库的其他连接参数(例如用户名、密码、主机等)正确。

  2. 创建数据库:如果数据库尚未创建,请尝试使用以下命令创建数据库:

    bundle exec rake db:create

这将使用应用程序的数据库配置在数据库服务器上创建一个新数据库。

  1. 数据库迁移:确保您的数据库迁移文件已经正确创建,并且可以在应用程序中使用。运行以下命令来运行数据库迁移:

    bundle exec rake db:migrate

这将运行所有未应用的数据库迁移,将数据库模式更新为最新版本。

运行完上面前两个个步骤就差不多可以正常运行数据库迁移了

相关推荐
CodeJourney.1 小时前
EndNote与Word关联:科研写作的高效助力
数据库·人工智能·算法·架构
trigger3332 小时前
MongoDB 简介
数据库·mongodb
许心月2 小时前
MongoDB#常用语句
数据库·mongodb
Jason95102 小时前
使用大语言模型(Deepseek)构建一个基于 SQL 数据的问答系统
数据库·sql·问答系统·大语言模型·deepseek
苍老流年2 小时前
Redis底层数据结构
数据结构·数据库·redis
三天不学习3 小时前
Redis面试宝典【刷题系列】
数据库·redis·面试
HaoHao_0103 小时前
如何将MySQL数据库迁移至阿里云
服务器·数据库·阿里云·云计算·云服务器·迁移
Мартин.3 小时前
[Meachines] [Easy] Wifinetic FTP匿名登录+Reaver WPS PIN密码泄露权限提升
数据库·postgresql·wps
茂桑3 小时前
MVCC(多版本并发控制)
java·开发语言·数据库
卷心菜不卷Iris3 小时前
第1章大型互联网公司的基础架构——1.9 LSM Tree
数据库·lsm-tree·互联网大厂·基础架构