Bagikan melalui


Tutorial: Alur kerja pengembangan berbasis cabang

Penting

Lakebase Autoscaling berada di Beta di wilayah berikut: eastus2, , westeuropewestus.

Lakebase Autoscaling adalah versi terbaru Lakebase dengan komputasi penskalaan otomatis, skala-ke-nol, percabangan, dan pemulihan instan. Untuk perbandingan fitur dengan Lakebase Provisioned, lihat memilih antar versi.

Pelajari cara menggunakan cabang seperti cabang Git, memberi setiap pengembang cabang terisolasi untuk pekerjaan independen, lalu mengatur ulang agar tetap sinkron.

Prasyarat

  • Proyek Lakebase dengan production cabang (default)
  • Cabang development yang dibuat dari production untuk pekerjaan pengembangan bersama
  • Pemahaman dasar tentang SQL dan Postgres

Menyiapkan skema awal Anda

Sebelum membuat cabang pengembang Anda, siapkan skema sederhana di cabang pengembangan. Ini berfungsi sebagai titik awal bersama yang akan digunakan semua pengembang untuk ber fork. Ketika Anda membuat cabang pribadi Anda, itu langsung mewarisi skema ini melalui copy-on-write.

  1. Navigasi ke cabang pengembangan Anda di UI Lakebase.
  2. Buka Editor SQL.
  3. Buat tabel pengguna dasar dengan data sampel:
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');

Buat cabang untuk pengembangan Anda

Setiap pengembang di tim Anda dapat memiliki cabang yang berlangsung lama untuk pekerjaan berkelanjutan. Atur ulang secara berkala agar tetap sinkron dengan induk.

Dari daftar cabang proyek Anda, pilih cabang pengembangan , lalu klik Buat cabang anak. Masukkan nama cabang (diperlukan) seperti dev/alex (mengikuti pola dev/<your-name>) dan klik Buat.

Cabang dibuat secara instan dan mencakup semua skema dan data dari pengembangan melalui metode copy-on-write.

Hierarki cabang Anda:

production (root)
  └── development (has users table + data)
        └── dev/alex (instantly inherits users table + data)

Mengembangkan fitur Anda

Arahkan aplikasi Anda ke cabang dev Anda dengan memperbarui string koneksi dalam file Anda .env , lalu kembangkan fitur Anda menggunakan alur kerja normal Anda.

Misalnya, menambahkan pelacakan preferensi pengguna ke aplikasi Anda akan melibatkan pembaruan model pengguna Anda, menghasilkan migrasi dengan kerangka kerja Anda (Prisma, Alembic, Django, dll.), dan menjalankannya di cabang Anda dev/alex . File migrasi Anda mungkin berisi:

ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);

Setelah menjalankan migrasi, kembangkan fitur preferensi dalam kode aplikasi Anda dan uji alur lengkap secara lokal. Cabang Anda sepenuhnya terisolasi—perubahan tidak memengaruhi produksi atau pengembang lain.

Meninjau perubahan

Sebelum mempromosikan ke lingkungan lain, gunakan perbedaan skema untuk memverifikasi dengan tepat apa yang berubah. Navigasi ke gambaran umum cabang Anda dev/alex , klik Skema berbeda, dan bandingkan dengan development.

Perbandingan berdampingan memperlihatkan kolom dan indeks baru preferences Anda dalam warna hijau:

Perbedaan skema menunjukkan kolom preferensi dan indeks yang ditambahkan ke cabang dev/alex

Langkah verifikasi ini membantu menangkap perubahan yang tidak diinginkan sebelum mencapai produksi. Untuk dokumentasi perbedaan skema lengkap, lihat Membandingkan skema cabang.

Mempromosikan perubahan Anda

Saat Anda yakin dengan perubahan Anda, promosikan ke branch upstream. Terapkan perubahan skema yang sama dengan yang Anda validasi dev/alex ke cabang Anda development , lalu sebarkan kode aplikasi Anda. Alur kerja ini memastikan perubahan skema Anda diuji dalam isolasi sebelum mencapai lingkungan bersama.

Reset dan mulai dari awal

Ketika Anda siap untuk memulai pekerjaan baru, reset cabang pribadi Anda agar tetap sinkron dengan development, yang mungkin memiliki perubahan dari pengembang lain. Ini memberikan Anda permulaan baru dari dasar bersama saat ini.

Navigasi ke cabang Anda dev/alex dan klik Reset dari induk. Modal reset mengonfirmasi bahwa semua database dan peran akan diganti dengan data terbaru dari development. Tindakan ini tidak dapat dibalik, jadi pastikan Anda telah mempromosikan perubahan apa pun yang ingin Anda simpan sebelum mengonfirmasi.

Mereset modal konfirmasi data

Cabang Anda sekarang cocok persis dengan development, siap untuk tugas Anda berikutnya.

Praktik terbaik

  • Gunakan penamaan yang konsisten:dev/<name> Ikuti pola untuk cabang pengembang.
  • Reset secara teratur: Jaga agar cabang Anda tetap sinkron development untuk menghindari penyimpangan.
  • Lindungi produksi: Menggunakan cabang yang dilindungi untuk mencegah perubahan yang tidak disengaja