我想用MySQL创建我的Rails应用程序,因为我非常喜欢它。如何在最新版本的Rails中执行此操作而不是默认的SQLite?
答案 0 :(得分:256)
通常,您将使用
创建一个新的Rails应用程序rails ProjectName
要使用MySQL,请使用
rails new ProjectName -d mysql
答案 1 :(得分:133)
如果您已有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)。
答案 2 :(得分:50)
对于Rails 3,您可以使用此命令使用mysql创建新项目:
$ rails new projectname -d mysql
答案 3 :(得分:23)
转到终端并写下:
rails new <project_name> -d mysql
答案 4 :(得分:21)
如果您尚未创建应用程序,只需转到cmd(对于Windows)或终端(对于linux / unix)并键入以下命令以使用mysql数据库创建rails应用程序:
$rails new <your_app_name> -d mysql
适用于任何高于rails 3的版本。如果您已经创建了应用程序,那么您可以执行以下两项操作之一:
OR
发展:
适配器:mysql2
database:db_name_name
用户名:root
密码:
主持人:localhost
socket:/tmp/mysql.sock
此外,删除gem&#39; sqlite3&#39;从您的Gemfile中添加gem&#39; mysql2&#39;
答案 5 :(得分:12)
如果您使用的是rails 3或更高版本
rails new your_project_name -d mysql
如果你有早期版本
rails new -d mysql your_project_name
因此,在创建项目之前,您需要找到rails版本。你可以找到
rails -v
答案 6 :(得分:11)
rails -d mysql ProjectName
答案 7 :(得分:10)
rails new <project_name> -d mysql
OR
rails new projectname
config / database.yml中的更改
development:
adapter: mysql2
database: db_name_name
username: root
password:
host: localhost
socket: /tmp/mysql.sock
答案 8 :(得分:10)
使用-d选项创建应用程序
rails new AppName -d mysql
答案 9 :(得分:8)
$ rails --help
永远是你最好的朋友
用法:
$ rails new APP_PATH[options]
还要注意应在应用程序名称
之后给出选项rails和mysql
$ rails new project_name -d mysql
rails和postgresql
$ rails new project_name -d postgresql
答案 10 :(得分:7)
你应该使用开关-D而不是-d,因为它会生成两个没有文档文件夹的应用程序和mysql。
rails -D mysql project_name (less than version 3)
rails new project_name -D mysql (version 3 and up)
或者您只需使用--database
选项。
答案 11 :(得分:6)
只需转到rails控制台并输入:
rails new YOURAPPNAME -d mysql
答案 12 :(得分:5)
如果要创建新的rails应用程序,可以使用-d开关设置数据库,如下所示:
rails -d mysql myapp
以后总是很容易切换数据库,如果你在Mac上进行开发,使用sqlite会更容易。
答案 13 :(得分:5)
在Rails 3中,你可以做到
$rails new projectname --database=mysql
答案 14 :(得分:3)
关于新项目,轻松自如:
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
答案 15 :(得分:1)
首先确保安装了mysql gem,如果没有?在控制台中键入以下命令
gem install mysql2
通过在控制台中键入以下命令,创建新的rails应用程序并将mysql数据库设置为默认数据库
rails new app-name -d mysql
答案 16 :(得分:0)
使用以下命令为带有mysql数据库的API创建新应用
ArrayAccess
答案 17 :(得分: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
宝石文件:
# Use mysql as the database for Active Record
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
答案 18 :(得分:0)
如果您使用的是Ubuntu或任何Debian发行版,则应首先确保MySQL驱动程序在系统上,如果未在终端上运行该驱动程序
sudo apt-get install mysql-client libmysqlclient-dev
并将其添加到您的Gemfile
gem 'mysql2', '~> 0.3.16'
然后在项目的根目录中运行
bundle install
之后,您可以将mysql配置添加到config / database.yml作为以前的答案