Maison > base de données > tutoriel mysql > Comment générer automatiquement des migrations séquelles à partir de modèles existants ?

Comment générer automatiquement des migrations séquelles à partir de modèles existants ?

Mary-Kate Olsen
Libérer: 2024-11-19 11:48:03
original
958 Les gens l'ont consulté

How to Automatically Generate Sequelize Migrations from Existing Models?

Génération automatique de migrations Sequelize à partir de modèles existants

Dans cet article, nous approfondirons l'automatisation du processus de génération de migration dans Sequelize à l'aide de sa CLI . Ceci est particulièrement utile lorsque vous travaillez avec des modèles Sequelize existants et évite d'avoir à les recréer à partir de zéro.

Problème :

Étant donné un ensemble de modèles Sequelize existants, comment peut-on nous générons automatiquement les scripts de migration correspondants à l'aide de Sequelize CLI ?

Solution :

La CLI Sequelize offre une approche simple pour générer des migrations à partir de modèles existants. Pour y parvenir, suivez ces étapes :

  1. Créez un squelette de migration vierge : Exécutez la commande CLI sequelize migration:generate --name [name_of_your_migration]. Cela crée un fichier de migration vide.
  2. Remplissez manuellement le fichier de migration : Bien que le fichier de migration généré ne contienne pas la structure du modèle, il fournit un point de départ propre et pratique. Remplissez les détails nécessaires en fonction des définitions de votre modèle existantes.

Remarque supplémentaire :

Assurez-vous que la commande CLI est exécutée à partir du répertoire contenant le répertoire des migrations. pour éviter d'en créer un nouveau inutilement.

Exemple :

Supposons que vous ayez un modèle existant nommé « Employé » avec les champs « identifiant », « nom » et « salaire ». Pour générer le script de migration, vous devez exécuter la commande suivante :

sequelize migration:generate --name create_employee_table
Copier après la connexion

Le modèle de migration généré ressemblerait à ce qui suit :

'use strict';

module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('Employees', {
      id: {
        type: Sequelize.INTEGER,
        allowNull: false,
        primaryKey: true,
        autoIncrement: true,
      },
      name: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      salary: {
        type: Sequelize.FLOAT,
        allowNull: true,
      },
    });
  },

  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable('Employees');
  },
};
Copier après la connexion

Vous devrez ensuite mettre à jour manuellement les fichiers up et down pour refléter les modifications de schéma réelles requises pour la création et la suppression de la table « Employés ».

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal