使用MySQL而不是SQLite创建一个新的Ruby on Rails应用程序

我想用MySQL创建我的Rails应用程序,因为我非常喜欢它。我怎么能在最新版本的Rails而不是默认的SQLite中做到这一点?

0

16 答案

如果您已经有了rails项目,请将 config / database.yml 文件中的适配器更改为 MySQL ,并确保指定了有效的用户名和密码,插座:

development:
  adapter: mysql2
  database: db_name_dev
  username: koploper
  password:
  host: localhost
  socket: /tmp/mysql.sock

接下来,确保你编辑你的Gemfile以包含mysql2或activerecord-jdbcmysql-adapter(如果使用jruby)。

0
额外
这很有帮助;因为其他答案只是使用发生器。这个答案适用于在应用程序创建完成后将MySQL添加到应用程序中,以替换现有的(如SQLite)数据库或添加辅助数据库。另外,对于Rails来说,mysql2似乎是最热门的宝贝。
额外 作者 rcd,
你还必须更新Gemfile;删除 gem'sqlite3'并添加 gem'mysql2'
额外 作者 RGB,

通常情况下,您可以使用创建一个新的Rails应用程序

rails ProjectName

要使用MySQL,请使用

rails new ProjectName -d mysql
0
额外

如果你正在创建一个新的rails应用程序,你可以使用-d开关来设置数据库,如下所示:

rails -d MySQL myapp

它后来总是很容易切换你的数据库,如果你在Mac上开发,使用sqlite确实更容易。

0
额外

如果您使用的是rails 3或更高版本

rails new your_project_name -d mysql

如果你有早期版本

rails new -d MySQL your_project_name

所以在你创建你的项目之前,你需要找到rails版本。你可以找到

rails -v
0
额外
rails -d MySQL ProjectName
0
额外

Ror导轨3使用

$rails new projectname -d mysql
0
额外

在Rails 3中,你可以做到

$rails new projectname --database=mysql
0
额外
$ rails --help 

永远是你最好的朋友

用法:

$ rails new APP_PATH[options]

还要注意应该在应用程序名称之后给出选项

rails和mysql

$ rails new project_name -d mysql

rails和postgresql

$ rails new project_name -d postgresql
0
额外

您应该使用开关-D而不是-d,因为它将生成两个应用程序和mysql,并且没有文档文件夹。

  rails -D MySQL project_name  (less than version 3)

  rails new project_name -D MySQL (version 3 and up)

或者,您只需使用 - database 选项。

0
额外
rails new  -d mysql

要么

rails new projectname

config / database.yml中的更改

development:
  adapter: mysql2
  database: db_name_name
  username: root
  passw要么d:
  host: localhost
  socket: /tmp/mysql.sock
0
额外

去终端,写:

rails new  -d mysql
0
额外

使用-d选项创建应用程序

rails new AppName -d mysql
0
额外
为我完美工作!
额外 作者 Luke,

如果您尚未创建应用程序,只需转到cmd(对于Windows)或终端(对于linux / unix),然后键入以下命令以使用mysql数据库创建rails应用程序:

$rails new -d mysql

它适用于任何高于rails版本3的任何内容。如果您已经创建了您的应用程序,那么您可以执行以下两项操作之一:

  1. 使用mysql数据库创建另一个应用程序名称,转到cd another_name / config /并从这个新应用程序复制database.yml文件。将它粘贴到 your_app_name 应用程序的database.yml中。但确保在更改数据库名称并在database.yml文件中相应地设置数据库的用户名/密码后。

要么

  1. 转至cd your_app_name / config /并打开database.yml。重命名如下:

development:
adapter: mysql2
database: db_name_name
username: root
passw要么d:
host: localhost
socket: /tmp/mysql.sock

M要么eover, remove gem 'sqlite3' from your Gemfile and add the gem 'mysql2'

0
额外

只需转到rails控制台并输入:

rails new YOURAPPNAME -d mysql
0
额外

首先确保安装了mysql gem,如果没有的话?在控制台中键入以下命令

gem install mysql2

通过在控制台中输入以下命令,创建新的rails应用程序并将mysql数据库设置为默认数据库

rails new app-name -d mysql
0
额外
您想要将Gem添加到Gemfile中。
额外 作者 Riccardo,

在新项目上,轻松愉快:

rails new your_new_project_name -d mysql

在现有的项目,绝对棘手。这给了我现有的铁轨项目的一些问题。这种与我合作的作品:

# On Gemfile:
gem 'mysql2',  '>= 0.3.18', '< 0.5' # copied from a new project for rails 5.1 :)
gem 'activerecord-mysql-adapter' # needed for mysql..

# On Dockerfile or on CLI:
sudo apt-get install -y  mysql-client libmysqlclient-dev 
0
额外