2010-08-23 5 views
1

제 목표는 플랫 파일 CMS와 같이 완전히 자체적으로 포함되지만 여전히 데이터베이스 기능을 갖춘 CMS를 만드는 것입니다. 나는 SVN을 다른 모든 코드와 함께 복사 할 수있는 SQLite 기반의 CMS를 가지고 있다면이를 수정해야합니까? SQLite와 같은 종류의 데이터베이스가 아닌가?SVN은 sqlite를 복사 할 수 있습니까?

감사합니다.

+0

플랫 파일 CMS를 생성하고 SVN을 사용하여 이러한 파일을 추적하지 않는 이유는 무엇입니까? – Rudi

답변

1

짧은 대답 : 예.

SQLite 데이터베이스는 스키마 지정 및 데이터를 모두 포함하는 하나의 파일에 포함되어 있습니다.

SVN 저장소에 포함시키고 소프트웨어를 그대로 배포하려는 경우주의해야합니다. 최종 사용자가 볼 수 없도록 데이터를 배포하는 경우가 있습니다.

따라서 데이터베이스의 SQL 스키마가 들어있는 텍스트 파일과 기본 데이터를 사용하여 데이터베이스 파일 생성을 부트 스트랩하는 스크립트를 사용하여 svn에 바이너리 sqlite 파일을 저장하지 않도록하십시오. .

+0

이해가 안됩니다. 내가 어떤 의미로 배포하지 않았 으면 좋겠어요. 감사. – johnny

+0

테스트를 위해 설정할 수있는 사용자 이름, 암호 및 전자 메일이 sqllite DB 파일에있을 수 있습니다. SVN에 데이터베이스 파일을 포함하여 테스트 데이터 또는 라이브 데이터를 커밋하거나 배포하지 않도록해야합니다. – bot403

0

그래, sqlite 파일을 버전 컨트롤에 넣을 수 있지만이 파일은 바이너리이기 때문에 버전 관리 (diff와 같은)의 장점을 잃어 버리고 형식이 다른 버전의 sqlite와 호환되지 않을 수 있음을 기억하십시오.

나는 그 데이터베이스를 만드는 데 사용 된 원래의 SQL 코드를 저장소에 저장합니다.

1

예, 그것은 단지 하나 개의 파일하지만 SVN을 통해 관리에 문제가 있습니다 :

  1. 그것은 SVN 정상적으로 처리하지 않습니다 바이너리 형식입니다.
  2. 커밋 중에 사용중인 경우 데이터베이스의 일관된 버전을 커밋 할 수 없습니다.
  3. 업데이트 중에 사용중인 경우 데이터베이스가 손상 될 수 있습니다.
+0

흠, db 파일을 사용 중에 쓰기 잠금 상태가되므로 svn 업데이트가 수정하지 못합니다. (하지만 처음 2 점은 확실히 적용됩니다.) – Constantin

+0

포인트 3이 가장 적합합니다. 방금 vi를 사용하여 열린 데이터베이스를 손상 시켰습니다. –

+0

@ Constantin : Subversion은 파일을 잠그는 것을 모르기 때문에 잠긴 경우에도 (sqlite는 필수 잠금을 사용하지 않습니다. 대부분의 시스템에서 지원되지 않기 때문에) 행복하게 덮어 씁니다. –

관련 문제