Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pustaka pemindahan data dalam PHP8.0: Phinx

Pustaka pemindahan data dalam PHP8.0: Phinx

王林
王林asal
2023-05-14 10:40:351878semak imbas

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

  1. Enjin pangkalan data dan sokongan versi

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.

  1. Skalabiliti

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.

  1. Kawalan versi data

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.

  1. Kitaran hayat pemindahan data

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.

  1. Penjanaan data

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

  1. Memasang Phinx

Phinx dipasang melalui Composer Gunakan arahan berikut untuk memasangnya secara global:

    composer global require robmorgan/phinx
  1. Mengkonfigurasi 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
  1. Buat fail migrasi

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 .

  1. Laksanakan migrasi

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.

  1. Penghijrahan Balik Balik

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.

  1. Jana fail pengisian data

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().

  1. Lakukan pengisian data

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn