Je veux connaître la différence entre InstallSchema et InstallData en détail.
J'ai aussi besoin de savoir quand puis-je utiliser InstallSchema.php
et InstallData.php
?
Je veux connaître la différence entre InstallSchema et InstallData en détail.
J'ai aussi besoin de savoir quand puis-je utiliser InstallSchema.php
et InstallData.php
?
Réponses:
Tout d'abord, les deux méthodes InstallSchema et InstallData sont appelées lorsque vous installez un nouveau module
Les scripts de configuration de schéma modifient le schéma de la base de données, ils créent ou modifient les tables de base de données nécessaires. Si le module est en cours d'installation, Setup \ InstallSchema :: install () est exécuté.
Cela signifie qu'il crée une nouvelle table et ses champs avec sa structure.
Les scripts de configuration InstallData contiennent des entrées que le module doit insérer dans la base de données. Les attributs fournis avec Magento par défaut, les pages Cms, divers groupes et rôles par défaut, sont tous des exemples de configuration des données.
La configuration des données est exécutée après la configuration du schéma, elles fonctionnent de manière similaire.
Alors venez à la conclusion, la principale différence entre les deux est que InstallSchema est utilisé pour créer la table et sa structure. Alors que InstallData est utilisé pour insérer / ajouter des données dans la table.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Il y a la différence suivante,
InstallSchema
Le but de InstallSchema.php est de créer une nouvelle table / attribut / champs dans la base de données
InstallData
Le but du fichier InstallData.php est d'insérer des données / valeurs dans la base de données.
Magento2 utilise quatre types de fichiers pour les opérations initiales liées à la base de données qui sont exécutées uniquement avec le processus d'installation du module (ces fichiers ne s'exécutent qu'une seule fois pendant leur existence). Ces fichiers sont les suivants
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Tous ces fichiers sont présents dans l' Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
espace de nom de votre module magento. Ici, j'ai décrit tous les fichiers avec leur utilisation.
InstallSchema.php
Ce fichier est exécuté en premier juste après l'enregistrement de vos modules (signifie juste après que votre module et ses entrées de version sont entrées dans le tableau ->
setup_module
). Ce fichier est utilisé pour créer des tables avec leur attribut de colonnes dans votre base de données qui seront ensuite utilisées par le nouveau module installé.
InstallData.php
Ce fichier est exécuté après
InstallSchema.php
. Il est utilisé pour ajouter des données à la table nouvellement créée ou à toute table existante.
UpgradeSchema.php
Ce fichier est livré avec le module et ne s'exécute que si vous avez déjà installé la version précédente de ces modules dans votre magento (signifie qu'il a l'entrée de sa version précédente dans le tableau ->
setup_module
). Il est utilisé pour manipuler la table liée au module (signifie qu'il est utilisé pour modifier le schéma de la table signifie l'attribut colonnes et pour ajouter une nouvelle colonne dans cette table).
UpgradeData.php
Ce fichier s'exécute après
UpgradeSchema.php
. Il a le même concept que celuiInstallData.php
utilisé mais en utilisant ce fichier, vous pouvez changer / altérer le contenu de la base de données sans utiliser de fichiers de modèle. Vous pouvez également utiliser ce fichier pour ajouter du nouveau contenu à la base de donnéesInstallData.php
. Mais de la même manière,UpgradeSchema.php
il ne fonctionnera également que si vous avez installé la version précédente de ces modules dans votre magento.
Comme je l'ai dit en démarrant ces fichiers ne s'exécute qu'une seule fois, donc l'utilisation de base de ces fichiers est de préparer les tables et les données pour le module qui a été utilisé par le module tout au long de son existence.
Remarque: Magento utilise ces fichiers pour créer des tableaux qui sont utilisés dans les fonctionnalités de Magentos et pour ajouter le contenu comme cms_contents, customer_groups & attributes, Products_Types & attributes, Taxation groups etc.
Il y a une différence fondamentale entre 2
InstallSchema
s'exécutera lorsque le module sera installé pour configurer la structure de la base de données
While InstallData
s'exécute lorsque le module est installé pour initialiser les données de la table de base de données
Hoope ceci efface votre requête.