중요합니다
Lakebase 자동 크기 조정은 다음 지역의 베타에 있습니다. eastus2westeuropewestus
Lakebase 자동 크기 조정은 자동 크기 조정 컴퓨팅, 0으로 크기 조정, 분기 및 즉시 복원이 포함된 최신 버전의 Lakebase입니다. Lakebase 프로비저닝된 기능 비교는 버전 중에서 선택하는 것을 참조하세요.
Git 분기와 같은 분기를 사용하여 각 개발자에게 독립적인 작업을 위해 격리된 분기를 제공한 다음 동기화 상태를 유지하도록 다시 설정하는 방법을 알아봅니다.
필수 조건
-
production분기가 있는 Lakebase 프로젝트(기본값) -
production에서 만든 공유 개발 작업용development분기 - SQL 및 Postgres에 대한 기본 숙지
시작 스키마 설정
개발자 분기를 만들기 전에 개발 분기에 간단한 스키마를 설정합니다. 이는 모든 개발자가 포크할 공유 시작 지점 역할을 합니다. 개인 브랜치를 생성할 때, 이 스키마를 카피 온 라이트(copy-on-write) 방식으로 즉시 상속받습니다.
- Lakebase UI에서 개발 분기로 이동합니다.
- HTML 편집기를 엽니다.
- 샘플 데이터를 사용하여 기본 사용자 테이블을 만듭니다.
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (email) VALUES
('alice@example.com'),
('bob@example.com'),
('charlie@example.com');
개발자 분기 만들기
팀의 각 개발자는 진행 중인 작업을 위해 장기 브랜치를 가질 수 있습니다. 부모와 동기화 상태를 유지하도록 주기적으로 다시 설정합니다.
프로젝트의 분기 목록에서 개발 분기를 선택한 다음 자식 분기 만들기를 클릭합니다. (패턴dev/alex에 따라) 같은 dev/<your-name> 분기 이름(필수)을 입력하고 만들기를 클릭합니다.
분기는 즉시 생성되며, 복사-쓰기를 통해 개발의 모든 스키마와 데이터를 포함합니다.
분기 계층 구조:
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
기능 개발
.env 파일의 연결 문자열을 업데이트하여 애플리케이션을 개발 분기로 전환한 후, 일반 워크플로를 통해 기능을 개발하세요.
예를 들어 애플리케이션에 사용자 기본 설정 추적을 추가하려면 사용자 모델을 업데이트하고, 프레임워크(Prisma, Alembic, Django 등)를 사용하여 마이그레이션을 생성하고, 분기에서 실행해야 합니다 dev/alex . 마이그레이션 파일에는 다음이 포함될 수 있습니다.
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
마이그레이션을 실행한 후 애플리케이션 코드에서 기본 설정 기능을 개발하고 전체 흐름을 로컬로 테스트합니다. 분기는 완전히 격리되어 있어, 변경 사항이 생산 환경이나 다른 개발자에게 전혀 영향을 미치지 않습니다.
변경 내용 검토
다른 환경으로 승격하기 전에 'diff'를 사용하여 스키마의 변경 사항을 정확히 확인합니다.
dev/alex 분기 개요로 이동하여 스키마 차이(Schema diff)를 클릭한 다음 development과 비교합니다.
나란히 비교하면 새 preferences 열과 인덱스가 녹색으로 표시됩니다.
이 확인 단계는 프로덕션에 도달하기 전에 의도하지 않은 변경 내용을 파악하는 데 도움이 됩니다. 전체 스키마 차이 설명서는 분기 스키마 비교를 참조하세요.
변경 사항 적용
변경 내용을 확신하는 경우 업스트림 분기로 승격합니다. 분기에서 유효성을 검사한 dev/alexdevelopment 것과 동일한 스키마 변경 내용을 적용한 다음 애플리케이션 코드를 배포합니다. 이 워크플로는 공유 환경에 도달하기 전에 스키마 변경 내용을 격리된 상태로 테스트하도록 합니다.
다시 설정 및 새로 시작
새 작업을 시작할 준비가 되면 development와 동기화 상태를 유지하기 위해 개인 브랜치를 다시 설정하세요. 다른 개발자가 변경했을 수도 있습니다. 이렇게 하면 현재 공유 기준에서 새로운 시작을 제공합니다.
전환할 dev/alex 분기로 이동한 후, 상위에서 초기화를 클릭합니다. 초기화 모달은 모든 데이터베이스와 역할이 development의 최신 데이터로 교체됨을 확인합니다. 이 작업은 되돌릴 수 없으므로 확인하기 전에 변경하려는 사항을 반영했는지 반드시 확인하십시오.
이제 development와 정확히 일치하므로 다음 작업을 준비할 수 있습니다.
모범 사례
-
일관된 이름 지정 사용: 개발자 분기의
dev/<name>패턴을 따릅니다. -
정기적으로 초기화:
development과 동기화 상태를 유지하여 드리프트를 방지합니다. - 프로덕션 보호: 우발적인 변경을 방지하기 위해 보호된 브랜치를 사용하세요