새로 만들 Ruby on Rails 응용 프로그램을 사용하여 MySQL 대신 SQLite

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

  •  08-06-2019
  •  | 
  •  

문제

를 만들고 싶은데 내 레일 응용 프로그램 MySQL 기 때문에,내가 관심을 가져주셔서 감사드립니다.어떻게 할 수 있는 최신 버전에서의 레일이 대신의 기본 SQLite?

도움이 되었습니까?

해결책

이미 있는 경우에는 레일을 프로젝트를 변경 어댑터 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).

다른 팁

일반적으로,당신은 것을 새로 만드 레일 사용

rails ProjectName

을 사용하여 MySQL,사용

rails new ProjectName -d mysql

레일 3 이 명령을 사용할 수 있습니다 새로 만들려면 프로젝트를 사용하여 mysql:

$ rails new projectname -d mysql

가 터미널 및 쓰기:

rails new <project_name> -d mysql

만들지 않은 경우 귀하의 응용 프로그램을 아직,다만 cmd(for windows)또는 터미널(linux/unix)그리고 다음 명령을 입력하여 만들 레일 응용 프로그램 mysql 데이터베이스:

$rails new <your_app_name> -d mysql

그것은 작품에 대한 아무것도 레일 version3.당신은 이미 만들어진,그 중 하나를 수행할 수 있습니다 2 개의 다음의 것:

  1. another_name 프로 mysql 데이터베이스,이동하는 cd another_name/config/고 데이터베이스를 복사합니다.yml 에서 파일이 새로운 응용 프로그램입니다.붙여넣 데이터베이스입니다.yml 의 your_app_name app.그러나 확인하는 변경 데이터베이스 이름과 설정한 사용자명/암호 데이터베이스의에 따라 데이터베이스에서.yml 한 후 파일을니다.

  1. 가 cd your_app_name/config/고 열려있는 데이터베이스.yml.이름 바꾸기로 다음과 같다:

개발:
adapter:mysql2
데이터베이스:db_name_name
사용자 이름:루트
비밀번호:
host:localhost
socket:/tmp/mysql.양말

또한,제거 gem'sqlite3'에서록 gemfile 을 추가하고 보석'mysql2'

를 사용하는 경우에 레일이 3 개 또는 더 큰 버전

rails new your_project_name -d mysql

이 있는 경우 이전 버전

rails new -d mysql your_project_name

도록을 만들기 전에 프로젝트를 찾을 필요 레일 버전입니다.할 수 있으로 찾기

rails -v
rails -d mysql ProjectName
rails new <project_name> -d mysql

rails new projectname

에서 변경 config/데이터베이스입니다.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

를 사용해야 합 스위치 D d 것이기 때문에 생성하는 두 개의 앱과 mysql 이 없는 문서 폴더에 있습니다.

  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

레일 3,당신이 할 수 있는

$rails new projectname --database=mysql

을 만드는 경우 새로운 레일 응용 프로그램을 설정할 수 있는 데이터베이스-d 스위치를 사용하여 다음과 같다:

rails -d mysql myapp

그는 항상 쉽게 전환하는 데이터베이스 나중에 하지만,사용 sqlite 정말 쉽게 개발하는 경우에는 맥.

에서 새로운 프로젝트,쉬워요:

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 

첫째는지 확인 mysql 보석은 설치하지 않을 경우,?이 형식은 다음 명령에서 당신의 콘솔

gem install mysql2

를 만드는 새로운 레일 응용 프로그램과 설정 mysql 데이터베이스의 기본값으로 데이터베이스에 입력하여 다음과 같은 명령에서 당신의 콘솔

rails new app-name -d mysql

를 사용하려면 다음 명령을 새로운 응용 프로그램 만들기 위한 API 를 mysql 데이터베이스

rails new <appname> --api -d mysql


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

데이터베이스입니다.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'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top