[Ruby on Rails] PJ를 시작할 때 DB를 sqlite에서 mysql로 변경하는 방법
3906 단어 Rails
[Ruby on Rails] PJ를 시작할 때 DB를 sqlite에서 mysql로 변경하는 방법 rails new PJ名
에서 PJ를 만들 때 기본 DB는 sqlite3입니다.
DB의 변경 방법은 2가지다.
PJ를 시작할 때 mysql 지정하는 방법
1. PJ를 시작할 때 mysql 지정하는 방법
옵션으로 데이터 베이스를 지정하여 PJ를 만듭니다.
PJ 만들기
#gemのDBをmysql2に設定する(サーバーにmysql2がインストールされている前提)
$ rails new PJ名 --database=mysql
db의 제작과migration##DBの作成
$ rake db:create
##DBを紐付け
$ rake db:migrate
migrate를 실행한 후 config&db 폴더에서schema.생성Gemfile에서 지정한 DB도 확인합니다.
DB에서 mysql2가 지정되었습니다.
Gemfile
gem 'mysql2', '>= 0.3.18', '< 0.6.0'
MySql 및 rails 서버 시작##mysqlの起動
$ sudo service mysqld start
##railsサーバーの起動
$ rails server -b 0.0.0.0
연결이 성공했습니다.오류 1 "active record.nodata baseerror" 대응
패키지를 만들 때 발생한 오류가 없습니다.Rake 명령을 사용하여 DB 제작 및 링크
##DBの作成
$ rake db:create
##DBを紐付け
$ rake db:migrate
오류 2 "Anerror occurred while installing mysql2"의 대응
다음 오류가 발생하면 서버 환경에 mysql이 설치되지 않았을 수도 있습니다.
잘못
An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.
mysql2 설치
오류 대응
##mysql2(mysql55-devel)のインストール
##インストールするか聞かれるのでyを選択
$ sudo yum install mysql-devel
##Gemfilemとgemライブラリを紐付け
$ bundle install
##dbの作成
$ rake db:create
2. PJ 제작 후 변경하는 방법
Gemfile을 확인하면 기본 DB가 sqlite3으로 설정됩니다.
묵인
gem 'sqlite3'
1) 이것을 mysql2로 변경합니다.Gemfile
gem 'mysql2', '>= 0.3.18', '< 0.6.0'
2) 터미널에서 다음 작업 수행$ bundle install
##db未作成の場合
$ rake db:create
$ rake db:migrate
MySql 및 rails 서버 시작##mysqlの起動
$ sudo service mysqld start
##railsサーバーの起動
$ rails server -b 0.0.0.0
DB가 있는 경우
기존 DB가 있는 경우 Gemfile을 수정하고 bundle install 이후에 다음 작업을 수행합니다.
$ rake db:migrate
MySql 및 rails 서버 시작##mysqlの起動
$ sudo service mysqld start
##railsサーバーの起動
$ rails server -b 0.0.0.0
이상.
Reference
이 문제에 관하여([Ruby on Rails] PJ를 시작할 때 DB를 sqlite에서 mysql로 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shizen-shin/items/1a1a6bac7a601e11db35텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)