Flask Academy · Pelajaran

Mengapa Anda Memerlukan Migrasi, Bukan create_all

Pahami risiko mengubah skema aktif secara manual.

Pelajaran 1 dari 413 langkah

Mengapa Anda Memerlukan Migrasi, Bukan create_all adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Skema Selalu Berubah

Aplikasi nyata terus berkembang, jadi tabel Anda juga harus berubah. Anda akan menambahkan kolom, mengganti nama bidang, dan menghapus yang lama seiring bertambahnya fitur. 🔄

create_all Hanya Membangun Sekali

Ingat batasan yang Anda temui sebelumnya: create_all hanya membuat tabel yang belum ada. Fungsi ini tidak pernah menyentuh tabel yang sudah ada.

db.create_all()

Perbaikan Buruk yang Menggoda

Salah satu perbaikan yang menggoda adalah menghapus lalu membuat ulang. Cara ini berhasil dalam demonstrasi, tetapi menghapus setiap baris, sesuatu yang tidak terpikirkan dalam produksi.

db.drop_all()
db.create_all()

Mengedit Manual Itu Berisiko

Menjalankan ALTER TABLE mentah secara manual pada basis data aktif itu rapuh. Satu salah ketik atau langkah yang terlewat dapat merusak data tanpa cara mudah untuk membatalkannya.

Apa Itu Migrasi

Migrasi adalah skrip kecil yang memindahkan skema dari satu versi ke versi berikutnya melalui langkah-langkah yang aman dan dapat diulang.

Berversi dan Berurutan

Setiap migrasi memiliki id versi dan menunjuk ke migrasi sebelumnya. Bersama-sama, semuanya membentuk riwayat berurutan dari setiap perubahan skema.

Maju dan Mundur

Migrasi mendefinisikan dua jalur: upgrade menerapkan perubahan, sedangkan downgrade membatalkannya jika terjadi kesalahan.

def upgrade():
    ...

def downgrade():
    ...

Flask-Migrate Membungkus Alembic

Flask-Migrate menghubungkan aplikasi Anda ke Alembic, alat yang mendeteksi perubahan skema dan menulis skrip migrasi untuk Anda.

Melacak Versi Saat Ini

Migrasi mencatat versi skema saat ini di dalam tabel bernama alembic_version, sehingga alat tersebut selalu mengetahui posisi Anda.

Aman di Setiap Lingkungan

Skrip migrasi yang sama berjalan di laptop, CI, dan produksi, sehingga setiap lingkungan berakhir dengan skema yang identik.

Kapan Harus Beralih

Gunakan create_all hanya untuk prototipe paling awal. Begitu model Anda mulai berubah, beralihlah sepenuhnya ke migrasi.

Pemeriksaan Singkat

Tabel Anda sudah ada dan Anda baru saja menambahkan kolom. Mengapa tidak mengandalkan create_all?

Ringkasan

Anda melihat mengapa create_all tidak dapat mengembangkan skema dan bagaimana migrasi menghadirkan perubahan yang aman, berversi, dan dapat dibatalkan. 🎉

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengapa Anda Memerlukan Migrasi, Bukan create_all” gratis?

Ya — teks lengkap “Mengapa Anda Memerlukan Migrasi, Bukan create_all” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengapa Anda Memerlukan Migrasi, Bukan create_all”?

Pahami risiko mengubah skema aktif secara manual. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Mengapa Anda Memerlukan Migrasi, Bukan create_all” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Anda Memerlukan Migrasi, Bukan create_all
  2. Inisialisasi dan Buat Migrasi Otomatis
  3. Terapkan dan Batalkan dengan upgrade
  4. Tinjau dan Edit Skrip yang Dihasilkan
← Kembali ke Flask Academy