Dengan perkembangan teknologi Internet dan skop aplikasi yang semakin meluas, pemindahan data menjadi semakin biasa dan penting. Penghijrahan data merujuk kepada proses memindahkan struktur pangkalan data dan data sedia ada ke persekitaran atau sistem baharu yang berbeza. Proses pemindahan data boleh termasuk dari satu enjin pangkalan data ke enjin pangkalan data yang lain, dari satu versi pangkalan data ke versi pangkalan data yang lain, contoh pangkalan data yang berbeza, atau dari satu pelayan ke pelayan lain.
Dalam bidang pembangunan PHP, Phinx ialah perpustakaan migrasi data yang digunakan secara meluas. Phinx menyokong naik taraf automatik dan menurunkan taraf versi pangkalan data, menjadikannya cepat dan mudah untuk mencipta, menggunakan dan menjalankan migrasi data. Artikel ini akan memperkenalkan ciri utama dan penggunaan Phinx.
1. Ciri utama Phinx
Phinx menyokong enjin dan versi pangkalan data arus perdana, seperti MySQL, PostgreSQL, SQL Pelayan, Oracle, dsb. juga menyokong penghijrahan antara versi pangkalan data yang berbeza.
Phinx mempunyai kebolehskalaan yang baik dan boleh mencapai lebih banyak fungsi melalui pemalam, seperti laravel-phinx, phinx-seed, dsb. Tidak seperti perpustakaan migrasi data lain, Phinx juga menyokong berbilang sambungan dan boleh menggunakan konfigurasi sambungan yang berbeza untuk menghadapi senario migrasi yang sepadan.
Phinx dilengkapi dengan fungsi kawalan versi luar kotak Setiap migrasi akan merekodkan nombor versi dan maklumat status, supaya ia boleh cepat dan mudah Kembali ke versi sejarah.
Phinx menyediakan pengurusan kitaran hayat penuh penghijrahan data, termasuk sebelum penghijrahan, semasa penghijrahan dan selepas penghijrahan. Dalam pemindahan data, terdapat operasi berbeza yang boleh dilakukan untuk setiap kitaran hayat.
Di Phinx, pembangun boleh menggunakan arahan untuk menjana struktur jadual dan templat migrasi secara automatik, menjadikan pemindahan data lebih mudah dan cekap.
2. Cara menggunakan Phinx
Phinx dipasang melalui Composer Gunakan arahan berikut untuk memasangnya secara global:
composer global require robmorgan/phinx
Fail konfigurasi Phinx mesti diletakkan dalam direktori akar projek dan dinamakan phinx.yml. Contoh fail konfigurasi adalah seperti berikut:
paths: migrations: %%PHINX_CONFIG_DIR%%/db/migrations seeds: %%PHINX_CONFIG_DIR%%/db/seeds environments: default_database: development development: adapter: mysql host: localhost name: my_database user: root pass: password port: 3306 charset: utf8
Phinx menggunakan fail migrasi untuk menerangkan kandungan khusus setiap migrasi fail migrasi, Phinx akan menaik taraf atau menurunkan taraf pangkalan data. Fail migrasi terletak dalam laluan migrasi yang dikonfigurasikan dalam fail konfigurasi dan format nama fail adalah seperti YYYYMMDDHHMMSS_migration_name.php
, dengan YYYYMMDDHHMMSS mewakili nombor versi fail migrasi. Anda boleh menggunakan arahan berikut untuk menjana fail migrasi:
vendor/bin/phinx create MyFirstMigration
Fail migrasi yang dijana adalah seperti berikut:
<?php use PhinxMigrationAbstractMigration; class MyFirstMigration extends AbstractMigration { public function change() { } }
Kaedah change()
diperlukan dan operasi migrasi khusus ditulis di sini .
Gunakan arahan berikut untuk melakukan migrasi:
vendor/bin/phinx migrate
Selepas melaksanakan migrasi, log migrasi akan direkodkan dan akan dilog pada kali berikutnya migrasi dilakukan. Abaikan migrasi yang telah dilakukan.
Semasa proses pembangunan, anda mungkin perlu beralih semula kepada beberapa versi yang telah dipindahkan sebelum ini. Gunakan arahan berikut untuk melancarkan semula:
vendor/bin/phinx rollback
Phinx akan melancarkan semula penghijrahan terkini.
Phinx menyediakan fungsi pengisian data Gunakan arahan berikut untuk menjana fail pengisian data:
vendor/bin/phinx seed:create UserSeeder
Fail yang dihasilkan adalah sebagai. berikut:
<?php use PhinxSeedAbstractSeed; class UserSeeder extends AbstractSeed { public function run() { } }
Tulis logik pengisian dalam kaedah run()
.
Gunakan arahan berikut untuk melaksanakan pengisian data:
vendor/bin/phinx seed:run
Phinx akan melaksanakan fail pengisian yang ditentukan.
Ringkasan
Phinx ialah perpustakaan pemindahan data yang sangat mudah digunakan. Ia mempunyai banyak ciri seperti enjin pangkalan data dan sokongan versi, kebolehskalaan dan kawalan versi data. Apabila menggunakan Phinx, anda boleh membuat, menggunakan dan menjalankan migrasi data dengan mudah, merealisasikan pengurusan kitaran hayat penuh pemindahan data, menjadikannya lebih mudah untuk pembangun berfungsi.
Atas ialah kandungan terperinci Pustaka pemindahan data dalam PHP8.0: Phinx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!