Maison  >  Article  >  développement back-end  >  Bibliothèque de migration de données en PHP8.0 : Phinx

Bibliothèque de migration de données en PHP8.0 : Phinx

王林
王林original
2023-05-14 10:40:351799parcourir

Avec le développement de la technologie Internet et la portée croissante des applications, la migration des données devient de plus en plus courante et importante. La migration des données fait référence au processus de déplacement des structures de bases de données et des données existantes vers un environnement différent ou un nouveau système. Le processus de migration des données peut inclure d'un moteur de base de données vers un autre moteur de base de données, d'une version de base de données vers une autre version de base de données, de différentes instances de base de données ou d'un serveur vers un autre serveur.

Dans le domaine du développement PHP, Phinx est une bibliothèque de migration de données largement utilisée. Phinx prend en charge la mise à niveau et la rétrogradation automatiques des versions de bases de données, ce qui facilite et accélère la création, le déploiement et l'exécution de migrations de données. Cet article présentera les principales fonctionnalités et l'utilisation de Phinx.

1. Les principales fonctionnalités de Phinx

  1. Support de moteur de base de données et de versions

Phinx prend en charge les moteurs et versions de bases de données grand public, tels que MySQL, PostgreSQL, SQL Server, Oracle, etc., et prend également en charge la migration entre différentes versions de bases de données. .

  1. Évolutivité

Phinx a une bonne évolutivité et peut réaliser plus de fonctions grâce à des plug-ins, tels que laravel-phinx, phinx-seed, etc. Contrairement à d'autres bibliothèques de migration de données, Phinx prend également en charge plusieurs connexions et peut utiliser différentes configurations de connexion pour faire face aux scénarios de migration correspondants.

  1. Contrôle de version des données

Phinx est livré avec une fonctionnalité de contrôle de version prête à l'emploi. Chaque migration enregistrera le numéro de version et les informations d'état, permettant de revenir rapidement et facilement aux versions historiques.

  1. Cycle de vie de la migration des données

Phinx offre une gestion complète du cycle de vie de la migration des données, y compris avant la migration, pendant la migration et après la migration. Dans la migration de données, différentes opérations peuvent être effectuées pour chaque cycle de vie.

  1. Génération de données

Dans Phinx, les développeurs peuvent utiliser des commandes pour générer automatiquement des structures de tables et des modèles de migration, rendant la migration des données plus pratique et efficace.

2. Comment utiliser Phinx

  1. Installation de Phinx

Phinx est installé via Composer Vous pouvez l'installer globalement en utilisant la commande suivante :

    composer global require robmorgan/phinx
  1. Configurer Phinx

Le fichier de configuration de Phinx doit être placé dans. le répertoire racine du projet Ensuite, nommez-le phinx.yml. Un exemple de fichier de configuration est le suivant :

    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. Créer un fichier de migration

Phinx utilise un fichier de migration pour décrire le contenu spécifique de chaque migration. En exécutant le fichier de migration, Phinx mettra à niveau ou rétrogradera la base de données. Le fichier de migration se trouve dans le chemin de migration configuré dans le fichier de configuration et le format du nom de fichier est tel que AAAAMMJJHHMMSS_migration_name.php, où AAAAMMJJHHMMSS représente le numéro de version du fichier de migration. Vous pouvez utiliser la commande suivante pour générer un fichier de migration : YYYYMMDDHHMMSS_migration_name.php,其中 YYYYMMDDHHMMSS 表示该迁移文件的版本号。可以使用以下命令生成迁移文件:

    vendor/bin/phinx create MyFirstMigration

生成的迁移文件如下:

    <?php

    use PhinxMigrationAbstractMigration;

    class MyFirstMigration extends AbstractMigration
    {
        public function change()
        {

        }
    }

其中 change()方法是必须的,这里写下具体的迁移操作。

  1. 执行迁移

使用以下命令可以执行迁移:

    vendor/bin/phinx migrate

执行迁移后,将会记录迁移日志,下次执行迁移时会忽略已经执行过的迁移。

  1. 回滚迁移

在开发过程中,可能需要回滚到之前迁移过的一些版本。使用以下命令回滚:

    vendor/bin/phinx rollback

Phinx将会回滚最近的一次迁移。

  1. 生成数据填充文件

Phinx提供了数据填充的功能,使用以下命令生成数据填充文件:

    vendor/bin/phinx seed:create UserSeeder

生成的文件如下:

    <?php

    use PhinxSeedAbstractSeed;

    class UserSeeder extends AbstractSeed
    {
        public function run()
        {

        }
    }

run()

    vendor/bin/phinx seed:run

Le fichier de migration généré est le suivant :
    rrreee
  1. La méthode change() est requise, et les opérations de migration spécifiques sont écrites ici.

Exécuter la migration

Utilisez la commande suivante pour exécuter la migration :

rrreee

Après l'exécution de la migration, le journal de migration sera enregistré et la migration déjà exécutée sera ignorée la prochaine fois que la migration sera exécutée.

🎜Rollback migration🎜🎜🎜Pendant le processus de développement, vous devrez peut-être revenir à certaines versions précédemment migrées. Utilisez la commande suivante pour annuler : 🎜rrreee🎜Phinx annulera la migration la plus récente. 🎜
    🎜Générer un fichier de remplissage de données🎜🎜🎜Phinx fournit la fonction de remplissage de données. Utilisez la commande suivante pour générer un fichier de remplissage de données : 🎜rrreee🎜Le fichier généré est le suivant : 🎜rrreee🎜In <. code> run( ) pour écrire la logique de remplissage. 🎜🎜🎜Effectuer le remplissage des données🎜🎜🎜Utilisez la commande suivante pour effectuer le remplissage des données : 🎜rrreee🎜Phinx exécutera le fichier de remplissage spécifié. 🎜🎜Résumé🎜🎜Phinx est une bibliothèque de migration de données très facile à utiliser. Elle possède de nombreuses fonctionnalités telles que le moteur de base de données et la prise en charge des versions, l'évolutivité et le contrôle des versions des données. Lorsque vous utilisez Phinx, vous pouvez facilement créer, déployer et exécuter une migration de données, réalisant ainsi une gestion complète du cycle de vie de la migration des données, facilitant ainsi le travail des développeurs. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn