如何在 Rails 中将我的数据库从 SQLite 更改为 MYSQL

Posted

技术标签:

【中文标题】如何在 Rails 中将我的数据库从 SQLite 更改为 MYSQL【英文标题】:How do I change my database from SQLite to MYSQL in Rails 【发布时间】:2011-09-30 22:39:34 【问题描述】:

我知道您必须更改 database.yml,但我不知道将其更改为什么以及如何下载 mysql 和所有这些爵士乐。

【问题讨论】:

您正在运行哪个操作系统?您还需要编辑您的 Gemfile。 官方文档:Active Record Migration 【参考方案1】:

宝石文件:

gem 'mysql2'

config/database.yml

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: db_name_here
  pool: 5
  username: root
  password:
  host: localhost

命令行:

bundle install
rake db:create
rake db:migrate

当然需要安装 MySQL。

如果您正在创建一个新项目:

rails new app_name_here -d mysql

【讨论】:

我的实例是什么意思? 我的意思是你自己的设置 它说我不能使用 mysql 0.3.6 0.2.x 的早期版本是什么 我们可以在创建应用程序后将数据库从 sqlite 更改为 mysql 吗?我忘了把-d mysql放在开头。【参考方案2】:

我在尝试将 mysql2 gem 与 Rails 3.0.9 一起使用时遇到了同样的问题。 当我在安装 mysql2 gem 后运行 rake db:create 时,它给了我这些警告:

警告:这个版本的 mysql2 (0.3.6) 不再捆绑 ActiveRecord 适配器,因为它现在是 Rails 3.1 的一部分

警告:如果您打算在 Rails 中使用 0.2.x 版本,请使用它

要指定您只想使用 mysql2 的 0.2.x 版本,请编辑您的 Gemfile,以便

gem 'mysql2'

变成

gem 'mysql2', '~> 0.2.1'

【讨论】:

这是为了解决 Planetpluto 在 tybro0103 的回答下的评论。我会回复另一条评论,但似乎我没有足够的特权点来这样做。

以上是关于如何在 Rails 中将我的数据库从 SQLite 更改为 MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ipad 中将数据从 xml 插入到 sqlite

在 android 中将 SQLite 数据从平板电脑更新到手机

在 Rails 中将 2 个表导出为 CSV [如何选择特定列?]

如何访问默认的 Rails sqlite db?

将硬编码值放入 Rails 应用程序的 sqlite 数据库中

Rails - 将信息从视图传递到 Javascript