SQLite 대신 MySQL을 사용하여 새로운 Ruby on Rails 애플리케이션 만들기
MySQL을 사용하여 Rails 애플리케이션을 만들고 싶습니다. 기본 SQLite 대신 최신 Rails 버전에서 어떻게 할 수 있습니까?
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을 편집하십시오.
일반적으로 다음을 사용하여 새 Rails 앱을 만듭니다.
rails ProjectName
MySQL을 사용하려면
rails new ProjectName -d mysql
Rails 3의 경우이 명령을 사용하여 mysql을 사용하여 새 프로젝트를 만들 수 있습니다.
$ rails new projectname -d mysql
터미널로 가서 다음을 작성하십시오.
rails new <project_name> -d mysql
아직 앱을 만들지 않았다면 cmd (Windows의 경우) 또는 terminal (linux / unix의 경우)으로 이동하여 다음 명령을 입력하여 mysql 데이터베이스로 레일스 응용 프로그램을 만듭니다.
$rails new <your_app_name> -d mysql
Rails 버전 3 이상의 모든 항목에서 작동합니다. 이미 앱을 만든 경우 다음 두 가지 중 하나를 수행 할 수 있습니다.
- mysql 데이터베이스 로 another_name 앱을 만들고 cd another_name / config / 로 이동 하여이 새 앱에서 database.yml 파일을 복사하십시오. your_app_name 앱 의 database.yml에 붙여 넣습니다 . 그러나 데이터베이스 이름을 변경하고 데이터베이스의 사용자 이름 / 암호를 적절히 설정 한 후 database.yml 파일에서 설정하십시오.
또는
- cd your_app_name / config /로 이동하여 database.yml을여 십시오. 다음과 같이 이름을 바꾸십시오.
개발 :
어댑터 : mysql2
데이터베이스 : db_name_name
사용자 이름 : 루트
비밀번호 :
호스트 : localhost
소켓 : /tmp/mysql.sock
또한 Gemfile에서 gem 'sqlite3'을 제거하고 gem 'mysql2'를 추가하십시오.
레일 3 이상 버전을 사용하는 경우
rails new your_project_name -d mysql
이전 버전이 있다면
rails new -d mysql your_project_name
따라서 프로젝트를 만들기 전에 rails 버전을 찾아야합니다. 당신이 찾을 수있는
rails -v
rails -d mysql ProjectName
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
-d 옵션을 사용하여 응용 프로그램 만들기
rails new AppName -d mysql
$ rails --help
항상 가장 친한 친구 야
용법:
$ rails new APP_PATH[options]
또한 응용 프로그램 이름 뒤에 옵션을 제공해야합니다.
레일과 MySQL
$ rails new project_name -d mysql
레일과 postgresql
$ rails new project_name -d postgresql
설명서 폴더없이 두 개의 앱과 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
In Rails 3, you could do
$rails new projectname --database=mysql
If you are creating a new rails application you can set the database using the -d switch like this:
rails -d mysql myapp
Its always easy to switch your database later though, and using sqlite really is easier if you are developing on a Mac.
On new project, easy peasy:
rails new your_new_project_name -d mysql
On existing project, definitely trickier. This has given me a number of issues on existing rails projects. This kind of works with me:
# 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
First make sure that mysql gem is installed, if not? than type following command in your console
gem install mysql2
Than create new rails app and set mysql database as default database by typing following command in your console
rails new app-name -d mysql
Use following command to create new app for API with mysql database
rails new <appname> --api -d mysql
adapter: mysql2
encoding: utf8
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
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'
'development' 카테고리의 다른 글
Android EditText에서 대문자를 강제로 쓰는 방법은 무엇입니까? (0) | 2020.07.07 |
---|---|
AngularJs에서 첫 번째 문자열을 대문자로 (0) | 2020.07.07 |
다트에서 싱글 톤을 어떻게 만드나요? (0) | 2020.07.06 |
이것이 의미하는 것은 : 실패 [INSTALL_FAILED_CONTAINER_ERROR]? (0) | 2020.07.06 |
socket.io에서 클라이언트의 IP 주소를 가져옵니다 (0) | 2020.07.06 |