Cara Menambah Pangkalan Data ke Apl Anda (Tanpa Kehilangan Data Kemudian)
Untuk menambah pangkalan data ke apl anda, pilih pangkalan data geseran hubungan yang diurus (Postgres ialah pilihan lazim), simpan rentetan sambungannya dalam rahsia di bahagian pelayan, cipta satu jadual untuk setiap jenis perkara yang disimpan oleh apl anda, dan jadikan backend anda — bukan pelayar — yang membaca dan menulis kepadanya. Jika anda membina dengan pembina apl AI, biasanya anda cuma perlu berkata “simpan ini ke pangkalan data” dan ejen akan menyediakan jadual serta kod; tugas anda ialah menerangkan data dengan jelas dan memastikan ia benar-benar disimpan.
Panduan ini merangkumi bila anda memerlukan pangkalan data, pilihan utama, cara menerangkan data anda, dan kesilapan yang menyebabkan data hilang atau bocor.
Bila apl anda memerlukan pangkalan data
Anda memerlukan pangkalan data apabila apl anda perlu mengingati sesuatu selepas halaman ditutup, atau berkongsi data antara orang ramai. Tanda-tanda biasa:
- Pelawat menghantar sesuatu: borang, pendaftaran, tempahan, pesanan
- Pengguna mempunyai akaun dengan kandungan tersimpan sendiri
- Pentadbir perlu melihat atau mengedit apa yang dicipta oleh orang lain
- Anda mahukan laporan atau kiraan dari semasa ke semasa
Anda tidak memerlukannya untuk laman statik yang menunjukkan kandungan sama kepada semua orang, seperti portfolio atau laman pendaratan ringkas. Jika anda tidak pasti apa sebenarnya pangkalan data, baca apa itu pangkalan data terlebih dahulu.
Pilihan anda
| Pilihan | Apa ia | Sesuai untuk | Perkara yang perlu diambil kira |
|---|---|---|---|
| Pangkalan data terbina dalam daripada pembina apl anda | Pangkalan data yang dicipta dan disambungkan untuk projek anda | Kebanyakan apl yang dibina dengan pembina AI | Terikat kepada platform hos itu; eksport dan sandaran bergantung pada platform |
| Postgres atau MySQL yang diurus | Pangkalan data geseran hubungan yang dihoskan, yang anda daftar secara berasingan | Apl yang anda hoskan sendiri, atau yang dikongsi beberapa perkhidmatan | Anda menguruskan kunci, had sambungan dan pelan |
| Backend-as-a-service | Pangkalan data ditambah auth, storan dan API dalam satu produk | Apl bahagian hadapan yang mahukan log masuk siap sedia | Lebih banyak konsep khusus vendor untuk dipelajari |
| Pangkalan data dokumen (NoSQL) | Menyimpan dokumen fleksibel seperti JSON | Data yang sangat tidak tetap | Hubungan dan pelaporan lebih sukar |
| Hamparan sebagai pangkalan data | Google Sheets atau yang serupa melalui API | Alat dalaman kecil, prototaip | Perlahan, tiada kekangan sebenar, rosak apabila disunting serentak |
Bagi kebanyakan apl web kecil dan sederhana, pangkalan data geseran hubungan seperti Postgres ialah pilihan lalai yang tepat. Ia baik dalam hubungan (seorang pelanggan mempunyai banyak pesanan), mengekalkan data yang konsisten, dan membolehkan anda menjawab soalan kemudian dengan SQL. Lihat apa itu Postgres untuk gambaran ringkas dalam bahasa mudah.
Terangkan data anda sebelum membina
Perkara paling berguna yang boleh anda lakukan ialah menulis perkara yang disimpan oleh apl anda dan bagaimana ia berhubung. Anda tidak perlukan istilah pangkalan data. Untuk apl tempahan:
- Pelanggan: nama, e-mel, telefon
- Perkhidmatan: nama, tempoh, harga
- Tempahan: pelanggan yang mana, perkhidmatan yang mana, masa mula, status (menunggu, disahkan, dibatalkan)
Ini ialah tiga jadual. “Pelanggan yang mana” dan “perkhidmatan yang mana” menjadi pautan (kunci asing) antara jadual-jadual tersebut. Membetulkannya awal jauh lebih penting daripada sebarang pilihan teknologi, kerana mengubah bentuk data yang sudah mempunyai baris sebenar lebih sukar daripada menukar reka letak halaman.
Beberapa peraturan praktikal:
- Satu jadual untuk setiap jenis perkara. Jangan muatkan pesanan ke dalam ruangan teks pada pelanggan.
- Berikan setiap baris ID dan masa dicipta. Anda akan memerlukan kedua-duanya kemudian.
- Gunakan jenis data yang betul. Tarikh sebagai tarikh, wang sebagai sen bulat atau jenis perpuluhan, bukan sebagai teks.
- Tandakan medan wajib sebagai wajib. Biarkan pangkalan data menolak data yang tidak sah, bukan borang sahaja.
Contoh prompt
Mulakan dengan satu ciri pada satu masa dan bukannya menghantar keseluruhan skema sekaligus:
Tambahkan pangkalan data kepada apl ini. Cipta jadual tempahan dengan nama pelanggan, e-mel, perkhidmatan, masa mula dan status (menunggu, disahkan, dibatalkan; lalai menunggu). Simpan penghantaran dari borang tempahan ke jadual itu, tunjukkan mesej berjaya, dan tambah halaman admin yang menyenaraikan tempahan, yang terbaru di atas.
Kemudian lanjutkannya:
Tambahkan jadual perkhidmatan (nama, tempoh dalam minit, harga dalam sen). Gantikan medan perkhidmatan teks bebas pada tempahan dengan pautan ke perkhidmatan, dan pindahkan tempahan sedia ada tanpa memadamkannya.
Dan ketatkannya:
Pastikan semua bacaan dan tulisan pangkalan data berlaku di bahagian pelayan. Pelayar tidak boleh sekali-kali menerima rentetan sambungan pangkalan data. Sahkan e-mel dan masa mula di bahagian pelayan sebelum dimasukkan.
Langkah demi langkah
- Senaraikan data anda seperti di atas: perkara, medan, dan pautan antara perkara.
- Cipta pangkalan data. Dalam pembina apl AI, minta dalam sembang. Di tempat lain, cipta contoh Postgres yang diurus dan salin rentetan sambungannya.
- Simpan rentetan sambungan sebagai rahsia (pembolehubah persekitaran di pelayan), jangan sekali-kali dalam kod. Lihat pembolehubah persekitaran dan rahsia.
- Cipta jadual. Gunakan migrasi — skrip berversi yang mengubah skema — supaya perubahan boleh diulang dan boleh diundur.
- Bina laluan pelayan yang mencipta, membaca, mengemas kini dan memadam baris (CRUD). Pelayar memanggil laluan ini; ia tidak sekali-kali berhubung terus dengan pangkalan data.
- Sambungkan UI kepada laluan tersebut: borang yang menyimpan, senarai yang dimuatkan, dan paparan kosong apabila belum ada apa-apa.
- Uji kegigihan data. Hantar sesuatu, muat semula halaman, buka dalam pelayar lain. Jika data tiada, ia tidak disimpan ke pangkalan data.
- Semak akses. Log masuk sebagai pengguna kedua dan sahkan anda tidak dapat melihat atau mengedit data pengguna pertama.
- Terbitkan, kemudian uji semula pada URL langsung, kerana apl yang diterbitkan mungkin menggunakan sambungan yang berbeza daripada pratonton anda.
Kesilapan biasa
- Menyimpan ke pelayar dan menganggapnya sudah disimpan. localStorage nampak berfungsi sehingga seseorang membuka apl pada peranti lain. Sentiasa uji dalam pelayar kedua.
- Meletakkan rentetan sambungan dalam kod bahagian hadapan. Sesiapa sahaja boleh membaca kod bahagian hadapan. Ini memberi mereka keseluruhan pangkalan data anda.
- Tiada semakan akses. “Tunjukkan pesanan saya” mesti menapis mengikut pengguna yang log masuk di bahagian pelayan, bukan di UI. Ini ialah lubang keselamatan paling biasa dalam apl yang dibina dengan AI; senarai semak keselamatan kami meliputinya.
- Perubahan skema yang memusnahkan. Meminta untuk “menamakan semula jadual” atau “menukar struktur” boleh menggugurkan dan mencipta semula jadual. Apabila data sebenar sudah wujud, katakan “pindahkan baris sedia ada, jangan padam apa-apa”.
- Menyimpan fail dalam pangkalan data. Imej dan PDF patut berada dalam storan fail, dengan hanya URL atau kuncinya disimpan dalam jadual. Lihat cara menambah muat naik fail.
- Tiada sandaran. Ketahui cara platform anda membuat sandaran data dan cara memulihkannya sebelum anda mempunyai pelanggan.
Senarai semak
- Setiap jenis perkara mempunyai jadual sendiri dengan ID dan masa dicipta
- Medan wajib dan jenis data dikuatkuasakan oleh pangkalan data
- Rentetan sambungan hanya wujud dalam rahsia bahagian pelayan
- Semua bacaan dan tulisan melalui laluan pelayan
- Setiap pengguna hanya boleh membaca dan menukar baris miliknya sendiri
- Data kekal selepas muat semula dan kelihatan dalam pelayar yang berbeza
- Perubahan skema menggunakan migrasi dan mengekalkan baris sedia ada
- Anda tahu cara sandaran dan pemulihan berfungsi
- Apl langsung telah diuji selepas diterbitkan
Menambah pangkalan data dalam Mythex
Di Mythex, setiap projek boleh mendapat pangkalan data Postgres khusus sendiri, pada Free dan Pro. Anda biasanya tidak perlu menekan butang “lampir” berasingan: minta dalam sembang (“simpan senarai tunggu e-mel ke pangkalan data”) atau taip /database, dan butiran sambungan akan dimasukkan ke dalam ruang kerja dan apl yang diterbitkan. Tetapan projek menunjukkan sama ada pangkalan data sedang aktif.
Pangkalan data tidur selepas 5 minit tidak aktif dan bangun pada permintaan seterusnya. Penggunaan apl yang diterbitkan dicaj mengikut masa ia benar-benar terjaga, daripada baki kredit yang sama yang anda gunakan untuk membina. Jika anda menambah pangkalan data selepas anda sudah menerbitkan, terbitkan semula supaya apl langsung mengambilnya.
Lihat Pangkalan Data dan resipi Bina apl CRUD dalam dokumentasi. Untuk bahagian log masuk bagi data setiap pengguna, baca cara menambah log masuk ke apl anda.
Soalan lazim
Adakah saya memerlukan pangkalan data untuk apl saya?
Anda memerlukannya sebaik sahaja apl anda perlu mengingati sesuatu antara lawatan atau berkongsi data antara pengguna: pendaftaran, pesanan, tempahan, siaran atau tetapan. Laman statik yang hanya memaparkan kandungan yang sama kepada semua orang tidak memerlukannya.
Pangkalan data mana yang patut saya guna untuk apl web kecil?
Pangkalan data geseran hubungan seperti Postgres ialah pilihan lalai yang selamat untuk kebanyakan apl web kecil. Ia mengendalikan pengguna, pesanan, hubungan dan pelaporan dengan baik, disokong secara meluas, dan jarang sekali anda akan melebihi keupayaannya pada skala kecil.
Bolehkah saya menyimpan data dalam pelayar dan bukannya pangkalan data?
Storan pelayar seperti localStorage hanya wujud pada satu peranti, dalam satu pelayar, dan pengguna boleh memadamkannya pada bila-bila masa. Ia sesuai untuk keutamaan seperti pilihan tema, tetapi tidak untuk apa-apa yang anda atau pengguna lain perlu lihat kemudian.
Adakah Mythex menyertakan pangkalan data?
Ya. Projek Mythex boleh mendapat pangkalan data Postgres khusus sendiri pada pelan Free dan Pro. Anda memintanya dalam sembang atau menggunakan arahan /database, dan butiran sambungan akan dimasukkan untuk anda. Penggunaan dibayar daripada baki kredit yang sama seperti pembinaan.