ADBLOCK비활성화

ADBlock이 사이트의 일부 콘텐츠를 차단하고 있습니다.

ADBlock errore

SQLite 대신 MySQL을 사용하여 새로운 Ruby on Rails 애플리케이션 생성

StackOverflow https://stackoverflow.com/questions/3585

질문

저는 MySQL을 사용하여 Rails 애플리케이션을 만들고 싶습니다. 정말 마음에 들어요.기본 SQLite 대신 최신 버전의 Rails에서 어떻게 할 수 있습니까?

솔루션

이미 rails 프로젝트가있는 경우 config/database.yml 파일의 어댑터를 mysql로 변경하고 유효한 사용자 이름과 비밀번호를 지정했는지 확인하고 선택적으로 소켓을 지정하세요. 라코 디스

다음으로 mysql2 또는 activerecord-jdbcmysql-adapter (jruby를 사용하는 경우)를 포함하도록 Gemfile을 편집해야합니다.

기타 팁

일반적으로 다음을 사용하여 새 Rails 앱을 만듭니다. 라코 디스

MySQL을 사용하려면 라코 디스

Rails 3의 경우이 명령을 사용하여 mysql을 사용하여 새 프로젝트를 만들 수 있습니다. 라코 디스

터미널로 이동하여 다음을 작성하십시오. 라코 디스

아직 앱을 생성하지 않았다면 cmd (for windows) 또는 terminal (for linux / unix)로 이동하고 다음 명령을 입력하여 mysql 데이터베이스로 rails 애플리케이션을 생성합니다.

$rails new <your_app_name> -d mysql

rails 버전 3 이상에서 작동합니다. 이미 앱을 만든 경우 다음 두 가지 작업 중 하나를 수행 할 수 있습니다.

  1. mysql 데이터베이스로 another_name 앱을 만들고 cd another_name / config /로 이동 한 다음이 새 앱에서 database.yml 파일을 복사합니다. your_app_name 앱의 database.yml에 붙여 넣습니다. 하지만 데이터베이스 이름을 변경하고 그에 따라 database.yml 파일에서 데이터베이스의 사용자 이름 / 비밀번호를 설정해야합니다.

    또는

    1. cd your_app_name / config /로 이동하여 database.yml을 엽니 다. 다음으로 이름 변경 :

      개발 :
      어댑터 : mysql2
      데이터베이스 : db_name_name
      사용자 이름 : root
      비밀번호 :
      호스트 : localhost
      소켓 : /tmp/mysql.sock

      또한 Gemfile에서 gem 'sqlite3'를 제거하고 gem 'mysql2'를 추가하세요.

rails 3 이상 버전을 사용하는 경우 라코 디스

이전 버전이있는 경우 라코 디스

프로젝트를 만들기 전에 Rails 버전을 찾아야합니다.찾을 수있는 방법 라코 디스

라코 디스

라코 디스

또는 라코 디스

config / database.yml 변경 사항 라코 디스

-d 옵션으로 애플리케이션 만들기 라코 디스

라코 디스

항상 가장 친한 친구

사용법 : 라코 디스

또한 애플리케이션 이름 뒤에 옵션을 제공해야합니다.

레일과 mysql 라코 디스

레일과 postgresql 라코 디스

문서 폴더없이 두 개의 앱과 mysql을 생성하므로 -d 대신 -D 스위치를 사용해야합니다. 라코 디스

또는 --database 옵션을 사용합니다.

rails 콘솔로 이동하여 다음을 입력하세요. 라코 디스

Rails 3에서 할 수있는 일 라코 디스

새 Rails 애플리케이션을 만드는 경우 다음과 같이 -d 스위치를 사용하여 데이터베이스를 설정할 수 있습니다. 라코 디스

그래도 나중에 데이터베이스를 쉽게 전환 할 수 있으며, Mac에서 개발하는 경우 sqlite를 사용하는 것이 정말 더 쉽습니다.

새 프로젝트에서 간단하게 : 라코 디스

기존 프로젝트에서는 확실히 까다 롭습니다.이로 인해 기존 레일스 프로젝트에 대한 많은 문제가 생겼습니다.이런 종류의 작업은 다음과 같습니다. 라코 디스

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'

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow