[RUBY-ON-RAILS] MySQL로 sqlite가에서 레일 응용 프로그램에 루비를 변환?
RUBY-ON-RAILSMySQL로 sqlite가에서 레일 응용 프로그램에 루비를 변환?
나는 레일에 루비에서 응용 프로그램을 만들어 지금은 호스팅 싶어. 그러나 그들은 내가 MySQL을 사용 할 것을 요구하고 있습니다 내가 sqlite3를를 사용하여 설정할 수 있습니다. 이 MySQL을 사용하기로 변환하는 방법은 없나요?
해결법
-
==============================
1.안전을 위해, 나는 가상 머신에서이 기술로 약간의 실험을하는 것이 좋습니다. 상심 한 무리의 자신을 저장하는 코드를 확인, 가상 머신을 구축, 당신은 비극 파업 경우 멀리 던질 수있는 안전한 놀이터가 있습니다.
안전을 위해, 나는 가상 머신에서이 기술로 약간의 실험을하는 것이 좋습니다. 상심 한 무리의 자신을 저장하는 코드를 확인, 가상 머신을 구축, 당신은 비극 파업 경우 멀리 던질 수있는 안전한 놀이터가 있습니다.
당신의 database.yml을 파일의 백업 복사본을 만듭니다.
(응용 프로그램 루트에서)
CP 설정 / database.yml을 config.database.yml.sqlite3
데이터의 백업 복사본을 만듭니다
https://github.com/ludicast/yaml_db : 레일 3의 경우, YAML DB 보석을 설치
레일의 경우 YAML DB 플러그인을 설치 2.X :
스크립트 / 플러그인 키트를 설치 gitubkamadanvigginsemmeldabgit를
덤프 작업을 실행
DB를 긁어 : 덤프를
당신의 설정 / database.yml을 파일을 업데이트합니다. 당신은 같은 항목을 찾을 수 있습니다
development: adapter: sqlite3 database: db/development.sqlite3 timeout: 5000 test: adapter: sqlite3 database: db/test.sqlite3 timeout: 5000 production: adapter: sqlite3 database: db/production.sqlite3 timeout: 5000
으로 변경
development: adapter: mysql encoding: utf8 reconnect: false database: **myapp_development** pool: 5 username: **root** password: **supersecretpassword** **socket: /opt/local/var/run/mysql5/mysqld.sock** test: adapter: mysql encoding: utf8 reconnect: false database: **myapp_test** pool: 5 username: **root** password: **supersecretpassword** socket: **/opt/local/var/run/mysql5/mysqld.sock** production: adapter: mysql encoding: utf8 reconnect: false database: **myapp_production** pool: 5 username: **root** password: **supersecretpassword** socket: **/opt/local/var/run/mysql5/mysqld.sock**
값이 플랫폼에 맞게 별표로 둘러싸인 업데이트해야합니다! 소켓 값은 맥 OSX는 MacPorts를를 사용하는 경우에만 좋다. 리눅스의 대부분 맛이 값이 필요하지 않습니다.
다음 단계에서 약간의 오차가있는 경우에, 당신은 MySQL의 보석을 설치해야 할 수도 있습니다 :
sudo gem install mysql
레이크 데이터베이스를 만들게
rake db:create rake db:schema:load
YamlDb 사용은 MySQL을로 데이터를 다시로드
DB를 긁어 : 부하를
-
==============================
2.만큼 당신이 sqlLite3에서 실행되지 MySQL은 (모든 데이터베이스 액세스가 액티브 및 액티브 마이그레이션을 통해 경우에 당신은 필요가 없습니다하는) 것을 모든 SQL 문을 작성하지 않은 것처럼 모든 당신이 할 필요가 데이터베이스에 데이터베이스 어댑터를 변경할 수 있습니다 .yml 설정 파일.
만큼 당신이 sqlLite3에서 실행되지 MySQL은 (모든 데이터베이스 액세스가 액티브 및 액티브 마이그레이션을 통해 경우에 당신은 필요가 없습니다하는) 것을 모든 SQL 문을 작성하지 않은 것처럼 모든 당신이 할 필요가 데이터베이스에 데이터베이스 어댑터를 변경할 수 있습니다 .yml 설정 파일.
-
==============================
3.도청을 확인합니다. 나는 성공적 --it SQLite는 지원해야 그것으로 포스트 그레스에 MySQL 데이터베이스를 변환했습니다.
도청을 확인합니다. 나는 성공적 --it SQLite는 지원해야 그것으로 포스트 그레스에 MySQL 데이터베이스를 변환했습니다.
편집 : 여기 토끼의 주석에서 링크를 작업 포함.
-
==============================
4.마이그레이션 할 데이터가없는 경우, 단순히 '레이크 DB를 : 스키마 : 부하'database.yml을 업데이트하고 실행하는 새로운 환경을. (NOT DB를 : 마이그레이션 증분 마이그레이션으로 만 사용되어야하는!)
마이그레이션 할 데이터가없는 경우, 단순히 '레이크 DB를 : 스키마 : 부하'database.yml을 업데이트하고 실행하는 새로운 환경을. (NOT DB를 : 마이그레이션 증분 마이그레이션으로 만 사용되어야하는!)
-
==============================
5.
myproject user$ cd user $ rails new myproject -d mysql
모든 질문에 대한하지만, 덮어 쓰기 ... / myproject라는 / 설정 / * database.yml을 *에 대한 말 '아니오'? [Ynaqdh] '예'라고 (도움 "시간"을 입력).
from https://stackoverflow.com/questions/1670154/convert-a-ruby-on-rails-app-from-sqlite-to-mysql by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 루비를 실행에 제한 / 창에 레일 (0) | 2020.02.08 |
---|---|
[RUBY-ON-RAILS] 5 레일 :로드 LIB 파일 생산 (0) | 2020.02.08 |
[RUBY-ON-RAILS] 레일에 has_one 협회와 빌드를 사용하여 (0) | 2020.02.08 |
[RUBY-ON-RAILS] 어떻게 레일의 URL에서 파일과 저장을 다운로드 할 수 있습니까? (0) | 2020.02.08 |
[RUBY-ON-RAILS] 생산에 레일 응용 프로그램 변경 (0) | 2020.02.07 |