답변:
rails 프로젝트가 이미있는 경우 config/database.yml
파일 에서 어댑터를 변경하고 mysql
유효한 사용자 이름 및 비밀번호를 지정하고 선택적으로 소켓을 지정하십시오.
development:
adapter: mysql2
database: db_name_dev
username: koploper
password:
host: localhost
socket: /tmp/mysql.sock
다음으로 mysql2 또는 activerecord-jdbcmysql-adapter (jruby를 사용하는 경우)를 포함하도록 Gemfile을 편집하십시오.
gem 'sqlite3'
및 추가gem 'mysql2'
아직 앱을 만들지 않았다면 cmd (Windows의 경우) 또는 terminal (linux / unix의 경우)으로 이동하여 다음 명령을 입력하여 mysql 데이터베이스로 레일스 응용 프로그램을 만듭니다.
$rails new <your_app_name> -d mysql
Rails 버전 3 이상의 모든 항목에서 작동합니다. 이미 앱을 만든 경우 다음 두 가지 중 하나를 수행 할 수 있습니다.
또는
개발 :
어댑터 : mysql2
데이터베이스 : db_name_name
사용자 이름 : 루트
비밀번호 :
호스트 : localhost
소켓 : /tmp/mysql.sock
또한 Gemfile에서 gem 'sqlite3'을 제거하고 gem 'mysql2'를 추가하십시오.
설명서 폴더없이 두 개의 앱과 mysql을 생성하므로 -d 대신 -D 스위치를 사용해야합니다.
rails -D mysql project_name (less than version 3)
rails new project_name -D mysql (version 3 and up)
또는 --database
옵션을 사용하십시오 .
레일 콘솔로 이동하여 다음을 입력하십시오.
rails new YOURAPPNAME -d mysql
새로운 프로젝트에서 쉬운 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
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'
우분투 또는 데비안 배포판을 사용하는 경우 터미널에서 MySQL 드라이버를 실행하지 않으면 먼저 MySQL 드라이버가 시스템에 있는지 확인해야합니다
sudo apt-get install mysql-client libmysqlclient-dev
이것을 Gemfile에 추가하십시오
gem 'mysql2', '~> 0.3.16'
그런 다음 프로젝트의 루트 디렉토리에서 실행하십시오.
bundle install
그 후 mysql 구성을 이전 답변으로 config / database.yml에 추가 할 수 있습니다