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

Pustaka pemindahan data dalam PHP8.0: Phinx

王林
Lepaskan: 2023-05-14 12:14:02
asal
1972 orang telah melayarinya

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
Salin selepas log masuk
  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
Salin selepas log masuk
  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
Salin selepas log masuk

Fail migrasi yang dijana adalah seperti berikut:

    <?php

    use PhinxMigrationAbstractMigration;

    class MyFirstMigration extends AbstractMigration
    {
        public function change()
        {

        }
    }
Salin selepas log masuk

Kaedah change() diperlukan dan operasi migrasi khusus ditulis di sini .

  1. Laksanakan migrasi

Gunakan arahan berikut untuk melakukan migrasi:

    vendor/bin/phinx migrate
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Fail yang dihasilkan adalah sebagai. berikut:

    <?php

    use PhinxSeedAbstractSeed;

    class UserSeeder extends AbstractSeed
    {
        public function run()
        {

        }
    }
Salin selepas log masuk

Tulis logik pengisian dalam kaedah run().

  1. Lakukan pengisian data

Gunakan arahan berikut untuk melaksanakan pengisian data:

    vendor/bin/phinx seed:run
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan