Bagaimana saya menggunakan migrasi di yii?
Kaedah utama untuk memohon penghijrahan pangkalan data di YII menggunakan alat penghijrahan terbina dalam melalui baris arahan. 1. Fail penghijrahan adalah kelas PHP yang disimpan dalam folder Migrasi dengan nama berasaskan timestamp, yang digunakan untuk mengubah suai skema pangkalan data. 2. Untuk memohon semua migrasi yang belum selesai, jalankan Yii berhijrah/naik, menambahkan secara pilihan -interaktif = 0 untuk melangkau pengesahan atau --Mit = 1 untuk memohon satu demi satu. 3. Untuk menggulung migrasi, gunakan Yii berhijrah/ke bawah dengan bendera pilihan - -Limit. 4. Untuk penetapan semula yang bersih, gunakan Yii Migrate/Down - -Limit = 999 diikuti oleh Yii Migrate/Up - -Limit = 999, walaupun ini harus dielakkan dalam pengeluaran. 5. Apabila bekerja dengan modul atau pelbagai direktori, tentukan laluan tersuai menggunakan -MigrationPath.
Apabila anda bekerja dengan YII dan perlu memohon penghijrahan pangkalan data, kaedah utama menggunakan alat penghijrahan terbina dalam YII melalui baris arahan. Ia mudah apabila anda memahami bagaimana sistem menganjurkan dan menjalankan fail penghijrahan.
Memahami fail migrasi
Sebelum memohon migrasi, ia membantu mengetahui apa yang mereka ada. Fail penghijrahan dalam YII adalah kelas PHP yang mengandungi arahan untuk mengubah suai skema pangkalan data anda seperti membuat jadual, menambah lajur, atau mengubah indeks.
Fail -fail ini disimpan dalam folder migrations
aplikasi atau modul anda secara lalai. Setiap fail penghijrahan mempunyai nama berasaskan cap waktu (misalnya, m230101_000001_create_table_user.php
) jadi Yii dapat menentukan urutan yang betul apabila memohonnya.
Sekiranya anda belum membuat apa -apa, gunakan arahan ini untuk menjana satu:
Yii berhijrah/membuat create_table_something
Ini memberi anda templat untuk mengisi dengan perubahan DB sebenar anda.
Memohon Migrasi Langkah demi Langkah
Sebaik sahaja anda mempunyai fail penghijrahan anda siap, memohonnya adalah mudah:
- Pastikan anda berada di direktori root projek anda di mana skrip konsol
yii
terletak. - Jalankan arahan ini:
Yii berhijrah/naik
Yii akan menunjukkan kepada anda senarai migrasi yang belum selesai dan meminta pengesahan. Taip y
dan tekan Enter untuk meneruskan.
Anda juga boleh melangkau pengesahan dengan menambah --interactive=0
:
Yii Migrate/Up --interactive = 0
Secara lalai, ia menggunakan semua migrasi yang belum selesai . Jika anda hanya mahu memohon satu demi satu, tambahkan --limit=1
bendera:
Yii Migrate/Up - -Limit = 1
Ini berguna semasa ujian atau ketika menyelesaikan masalah penghijrahan tertentu.
Melancarkan migrasi semula atau menetapkan semula
Kadang -kadang perkara menjadi salah atau anda perlu membatalkan perubahan. Yii membolehkan anda melancarkan migrasi menggunakan:
Yii berhijrah/ke bawah
Sama seperti memohon, anda boleh mengehadkan berapa banyak langkah untuk melancarkan kembali:
Yii Migrate/Down - -Limit = 2
Berhati -hati walaupun -rolling kembali memadam data jika penghijrahan anda termasuk menjatuhkan jadual atau lajur.
Untuk permulaan yang bersih (tidak disyorkan untuk pengeluaran), anda boleh menetapkan semula semua migrasi:
Yii Migrate/Down - -Limit = 999
Kemudian memohon semula mereka:
Yii Migrate/Up - -Limit = 999
Ini berguna semasa pembangunan atau ketika menubuhkan persekitaran baru dari awal.
Menguruskan pelbagai laluan penghijrahan
Jika aplikasi anda menggunakan modul atau direktori penghijrahan berganda, anda boleh menentukan jalan mana yang hendak digunakan:
Yii Migrate/Up -MigrationPath =@App/Modul/Pengguna/Migrasi
Ini memberitahu Yii untuk melihat lokasi tersuai dan bukannya @app/migrations
lalai.
Ia berguna apabila mengekalkan pangkalan data berasingan bagi setiap modul atau menguruskan komponen bersama di seluruh projek.
Itulah pada dasarnya bagaimana anda mengendalikan migrasi di Yii. Ia tidak rumit apabila anda terbiasa dengan arahan dan struktur, tetapi ia cukup kuat untuk kebanyakan senario dunia nyata.
Atas ialah kandungan terperinci Bagaimana saya menggunakan migrasi di yii?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk menjadi tuan YII, anda perlu menguasai kemahiran berikut: 1) Memahami seni bina MVC YII, 2) mahir dalam menggunakan ActiveReCordorm, 3) dengan berkesan menggunakan alat penjanaan kod GII, 4) menguasai peraturan pengesahan YII, 5) mengoptimumkan prestasi pertanyaan pangkalan data, 6) secara berterusan memberi perhatian kepada sumber -sumber YII. Melalui pembelajaran dan amalan kemahiran ini, keupayaan pembangunan di bawah kerangka YII dapat diperbaiki secara komprehensif.

Terdapat tiga cara untuk menentukan hubungan pangkalan data dalam YII: satu-satu, satu-ke-banyak dan banyak-banyak. 1. Gunakan kaedah hasOne () satu-satu, seperti model pengguna memperoleh profil yang sepadan melalui getProfile (); 2. Gunakan kaedah hasmany () satu-ke-banyak, seperti model pelanggan memperoleh semua pesanan melalui getorders (); 3. Gunakan viatable () bagi banyak kepada banyak, seperti model pengguna memperoleh pelbagai peranan melalui getRoles (), dan gunakan jadual perantaraan user_role untuk meningkatkan kecekapan pertanyaan dan menyimpan kod yang kemas.

Dalam Yii, widget adalah komponen yang boleh digunakan semula yang digunakan untuk merangkum unsur -unsur UI atau logik biasa. Peranan terasnya adalah untuk meningkatkan kecekapan pembangunan dan mengekalkan konsistensi antara muka. Menggunakan widget Yii boleh mengelakkan penulisan kod berulang, merealisasikan penggunaan semula kod, mengekalkan antara muka bersatu, titik fokus berasingan, dan memudahkan pengembangan. YII menyediakan pelbagai widget terbina dalam, seperti ActiveForm untuk Borang Model, Senarai Paparan ListView/GridView dan data jadual, pelaksanaan penomboran kawalan penomboran, dan menu secara dinamik menjana menu navigasi. Apabila kod Lihat didapati ditiru, logik dan persembahan yang diperlukan, atau tingkah laku dinamik abstrak, widget tersuai harus dibuat. Kaedah penciptaan diwarisi oleh yii \ base.wid

Dalam YII, widget digunakan untuk melaksanakan multiplexing komponen dengan merangkumi logik paparan kompleks. 1. Gunakan kaedah widget () untuk memanggil widget terbina dalam, seperti LinkPager untuk penomboran, dan ActiveForm untuk mencipta bentuk mengikat model; 2. Widget biasa termasuk GridView untuk memaparkan data jadual, terperinci untuk memaparkan butiran model, dan menu menu menu navigasi; 3. Widget tersuai boleh dibuat dengan mewarisi yii \ base \ widget, melaksanakan kaedah larian () dan menentukan atribut untuk meningkatkan kebolehgunaan semula, seperti yang ditunjukkan dalam contoh Hellowidget. Menguasai kaedah teras ini dapat meningkatkan kecekapan pembangunan.

Untuk mengelakkan kelemahan muat naik fail dalam YII, fail yang dimuat naik mesti disahkan dengan ketat dan dibersihkan. Pertama, menggunakan cfilevalidator atau alat setara YII2 hanya membolehkan jenis mime tertentu (seperti imej/jpeg, imej/png); kedua, gunakan fungsi finfo_file () untuk mengesahkan jenis fail dua kali; Ketiga, melarang memuat naik fail yang boleh dilaksanakan (seperti .php, .exe). Di samping itu, fail yang dimuat naik hendaklah disimpan dalam direktori akar bukan web dan akses selamat disediakan melalui tindakan pengawal. Sebagai contoh, gunakan ActionDownload () untuk mengawal kebenaran muat turun fail. Fail yang dimuat naik hendaklah dinamakan semula kepada pengecam unik (seperti timestamp uuid) dan menetapkan kebenaran yang betul (seperti 0644

Tulis pertanyaan SQL tersuai di YII dan boleh dilaksanakan melalui Yii :: $ App-> db. Langkah -langkah adalah seperti berikut: 1. Buat arahan pertanyaan menggunakan createCommand (); 2. Parameter mengikat melalui bindValue () atau bindParam () untuk mencegah suntikan SQL; 3. Call QueryAll (), queryOne () dan kaedah lain untuk melaksanakan pertanyaan; 4. Untuk memasukkan dan mengemaskini operasi, anda boleh mengikat Call Insert () dan mengemas kini () kaedah; 5. Adalah disyorkan untuk menulis SQL secara langsung dan mengikat parameter; 6. Jika hasilnya perlu ditukar menjadi model, anda boleh memberi instantiate dan menetapkan sifat; 7. Gunakan QueryBuilder untuk membina pertanyaan selamat terlebih dahulu, dan balasan, dan balasan.

Inyii, viewsseparatedisplaylogicFromApplicationCodeToimproveManAgeAbility.1.ViewsarephpfilestHatoutPuthtmlusingDataPassedFromControllersViamethodsLike $ this-> render ()

Rolling kembali penghijrahan di YII memerlukan perintah konsol untuk beroperasi. Untuk melancarkan penghijrahan terakhir, laksanakan yiimigrate/down; Untuk melancarkan penghijrahan tertentu, nyatakan nombor versi seperti Yiimigrate/Down15010101_182034. Pastikan kaedah bawah () berkesan sebelum rollback, semak kebergantungan, ujian sebelum pengeluaran, gunakan kawalan versi dan sandarkan pangkalan data untuk mengelakkan kehilangan data atau ketidakkonsistenan struktur.
