InstallSchema ve InstallData arasındaki farkı ayrıntılı olarak bilmek istiyorum.
Ben de ne zaman kullanabileceğini bilmek gerekir InstallSchema.php
ve InstallData.php
?
InstallSchema ve InstallData arasındaki farkı ayrıntılı olarak bilmek istiyorum.
Ben de ne zaman kullanabileceğini bilmek gerekir InstallSchema.php
ve InstallData.php
?
Yanıtlar:
Önce yeni bir modül yüklediğinizde hem InstallSchema hem de InstallData her iki yöntem de çağrılır
Şema kurulum komut dosyaları veritabanı şemasını değiştirir, gerekli veritabanı tablolarını oluşturur veya değiştirir. Modül kuruluyorsa, Setup \ InstallSchema :: install () yürütülür.
Yapısı ile yeni tablo ve alanları oluşturduğu anlamına gelir.
InstallData kurulum komut dosyaları, modülün veritabanına eklemesi gereken girişleri içerir. Varsayılan olarak Magento ile gelen öznitelikler, Cms sayfaları, çeşitli varsayılan gruplar ve roller, veri kurulumunun tüm örnekleridir.
Veri kurulumu Şema kurulumundan sonra yürütülür, benzer şekilde çalışır.
Sonuç olarak, her ikisi arasındaki temel fark InstallSchema tablo ve yapısı yapmak için kullanılır. InstallData tabloya veri eklemek / tabloya veri eklemek için kullanılır.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Aşağıdaki fark var,
InstallSchema
InstallSchema.php amacı Veritabanında yeni tablo / nitelik / alanlar oluşturmaktır
InstallData
InstallData.php amacı veritabanına Veri / değer eklemektir.
Magento2 , sadece modülün kurulum işlemiyle yürütülen veritabanı ile ilgili ilk işlemler için Dört Tür dosya kullanır (Bu dosyalar var olduklarından sadece bir kez çalışır). Bu dosyalar aşağıdaki gibidir
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Bu dosyaların tümü Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
, magento modülünüzün Ad alanına sahiptir. Burada tüm dosyaları kullanımları ile açıkladım.
InstallSchema.php
Bu dosya ilk olarak modüllerinizin kaydından hemen sonra yürütülür (Modülünüzün ve sürüm girişleri tabloya yerleştirildikten hemen sonra anlamına gelir ->
setup_module
). Bu dosya, daha sonra yeni yüklenen modül tarafından kullanılan ve sütun özniteliği veritabanınıza tablolar oluşturmak için kullanılır.
InstallData.php
Bu dosya daha sonra yürütülür
InstallSchema.php
. Yeni oluşturulan tabloya veya varolan herhangi bir tabloya veri eklemek için kullanılır.
UpgradeSchema.php
Bu dosya modülle birlikte gelir ve daha sonra magento'nuzda önceki sürümlerin yüklü olması durumunda çalışır (Önceki sürümünün tabloya girişi olduğu anlamına gelir ->
setup_module
). Modülle ilgili tabloyu işlemek için kullanılır (Tablo şemasını değiştirmek için sütun özniteliği anlamına gelir ve bu tabloya yeni sütun eklemek için kullanılır).
UpgradeData.php
Bu dosya sonra çalışır
UpgradeSchema.php
. Sahip olduğu aynı konsepteInstallData.php
sahip olmakla birlikte, bu dosyayı kullanarak, model içeriğini kullanmadan veritabanı içeriğini değiştirebilir / değiştirebilirsiniz. Bu dosyayı aynı veritabanına yeni içerik eklemek için de kullanabilirsinizInstallData.php
. Ancak aynıUpgradeSchema.php
, ancak o modülleri magento'nuzda önceki sürümü kuruyorsanız da çalışır.
Dediğim gibi bu dosyaların başlatılmasında sadece bir kez çalışır, bu nedenle bu dosyaların temel kullanımı varlığını modül tarafından kullanılan Modül için tabloları ve verileri hazırlamaktır.
Not: Magento, Magentos işlevlerinde kullanılan tablolar oluşturmak ve cms_contents, customer_groups & attributes, Products_Types & attributes, Taxation group gibi içerikleri eklemek için bu dosyaları kullanır.