2016-06-29 1 views
1

저는 현재 Rails를 배우고 블로그 앱을 만들고 있습니다. 나는 마이 그 레이션에 대해 머리를 감쌀 수 없다. 나는 read에서 마이그레이션을 사용하여 열, 테이블을 데이터베이스에 추가 할 수 있다고 가정합니다. 하지만 왜 버전 관리가 그렇게 중요하지 않습니까?마이그레이션과 버전 관리

피드백/안내에 감사드립니다. 나는 꽤 레일/ActiveRecord에 새롭고 나와 함께하시기 바랍니다.

+0

"버전 제어"란 정확히 무엇을 의미합니까? git 저장소는 확실히 PostgreSQL 데이터베이스의 스키마를 업데이트하지 않습니다. – Thilo

+1

안녕하세요 @ Thilo, 나는 단순히 독서에 대한 나의 해석에서 혼란 스러웠다 고 생각합니다. 마이 그 레이션은 db를 사용하여 변경 작업을 직접 처리합니다. 여기서 버전 제어는 완전히 별개이며 코드를 처리 할 때 커밋을 추적하는 것을 의미합니다. 나는 공 공원에 지금 있니? –

+0

https://teamtreehouse.com/community/difference-between-migration-and-git – Thilo

답변

1

데이터베이스에 대한 이전 작업은 코드에 대한 Git repo로 작동합니다. 앱을 개발하는 동안 데이터베이스에 대한 변경 사항을 추적합니다.

마이그레이션하지 않으면 코드를 공유하는 모든 장치에서 모든 변경 작업을 수동으로 수행해야합니다.

+1

감사합니다. Andre, 바보 같은 질문과 완전한 오해를 추측합니다. 확인할 사항 : Migrations = "데이터베이스의 버전 관리" Git = "코드의 버전 제어"? 감사합니다. –

+0

맞습니다. 미래에 진정으로 당신을 도울 수있는 공정한 질문이자 개념입니다. –

+0

"마이그레이션"은 소스 코드 저장소에 보관하려는 파일로 정의됩니다. 그러나 데이터베이스에 적용될 때 (예 : 추적 테이블과 같은) 결과도 있습니다 (배포 중에 자동으로 발생할 수 있음, 이는 여기서 큰 부분을 차지함). – Thilo

1

마이그레이션 및 버전 제어는 완전히 다른 두 가지 작업입니다. 마이그레이션은 상태를 유지 관리하지 않습니다. 마이그레이션은 데이터베이스/모델을 변경하는 방법이며, 말한대로 '열 추가'보다 훨씬 많은 작업을 수행합니다.

시작하려면 누구나 rails guides을 검토해야합니다.

버전 관리는 데이터베이스 구조를 유지 관리하지 않습니다. 데이터베이스와 뷰 및 컨트롤러를 변경하고 결정한 다음 데이터베이스 변경 만 실행 취소하려는 경우를 가정 해 봅시다. 버전 컨트롤을 되돌리면 모든 변경 사항이 취소됩니다. 그건 내가 생각하기에 좋지 않다.