我想用MySQL创建我的Rails应用程序,因为我非常喜欢它。 如何在最新版本的Rails中执行此操作而不是默认的SQLite?

===============>>#1 票数:259

通常,您将使用创建一个新的Rails应用程序

rails ProjectName

要使用MySQL,请使用

rails new ProjectName -d mysql

===============>>#2 票数:137 已采纳

如果您已经有一个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)。

===============>>#3 票数:52

对于Rails 3,您可以使用此命令使用mysql创建新项目:

$ rails new projectname -d mysql

===============>>#4 票数:23

去终端写下:

rails new <project_name> -d mysql

===============>>#5 票数:21

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

$rails new <your_app_name> -d mysql

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

  1. app with mysql database, go to cd /config/ and copy the database.yml file from this new app. 使用mysql数据库创建应用程序,转到cd / config /并从这个新应用程序复制database.yml文件。 app. 将其粘贴到应用程序的database.yml中。 但请确保在执行此操作后更改数据库名称并相应地在database.yml文件中设置数据库的用户名/密码。

要么

  1. /config/ and open database.yml. 转到cd / config /并打开database.yml。 重命名如下:

发展:
适配器:mysql2
database:db_name_name
用户名:root
密码:
主持人:localhost
socket:/tmp/mysql.sock

此外,从您的Gemfile中删除gem'sqlite3'并添加gem'mysql2'

===============>>#6 票数:12

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

rails new your_project_name -d mysql

如果您有早期版本

rails new -d mysql your_project_name

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

rails -v

===============>>#7 票数:11

rails -d mysql ProjectName

===============>>#8 票数:10

rails new <project_name> -d mysql

要么

rails new projectname

config / database.yml中的更改

development:
  adapter: mysql2
  database: db_name_name
  username: root
  password:
  host: localhost
  socket: /tmp/mysql.sock

===============>>#9 票数:10

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

rails new AppName -d mysql

===============>>#10 票数:8

$ rails --help 

永远是你最好的朋友

用法:

$ rails new APP_PATH[options]

另请注意,应在应用程序名称后面提供选项

rails和mysql

$ rails new project_name -d mysql

rails和postgresql

$ rails new project_name -d postgresql

===============>>#11 票数:7

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

  rails -D mysql project_name  (less than version 3)

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

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

===============>>#12 票数:6

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

rails new YOURAPPNAME -d mysql

===============>>#13 票数:5

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

rails -d mysql myapp

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

===============>>#14 票数:5

在Rails 3中,你可以做到

$rails new projectname --database=mysql

===============>>#15 票数:3

在新项目,轻松peasy:

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 

===============>>#16 票数:1

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

gem install mysql2

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

rails new app-name -d mysql

===============>>#17 票数:0

使用以下命令为mysql数据库创建API的新应用程序

rails new <appname> --api -d mysql


  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: 
  socket: /var/run/mysqld/mysqld.sock

===============>>#18 票数:0

database.yml的

# MySQL. Versions 5.1.10 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: localhost
  database: database_name
  username: username
  password: secret

development:
  <<: *default

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default

# As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password as a unix environment variable when you boot
# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full rundown on how to provide these environment variables in a
# production deployment.
#
# On Heroku and other platform providers, you may have a full connection URL
# available as an environment variable. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# You can use this database configuration with:
#
#   production:
#     url: <%= ENV['DATABASE_URL'] %>
#
production:
  <<: *default

Gemfile

# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.4.4', '< 0.6.0'

  ask by Daniel Broekman translate from so

未解决问题?本站智能推荐: