InstallSchema ve InstallData arasındaki fark


11

InstallSchema ve InstallData arasındaki farkı ayrıntılı olarak bilmek istiyorum.

Ben de ne zaman kullanabileceğini bilmek gerekir InstallSchema.phpve InstallData.php?


Hala herhangi bir sorununuz varsa bana bildirin, aksi takdirde diğer kullanıcının yardım etmesi için cevabı kabul edin
Manthan Dave

Yanıtlar:


19

Ö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.


Means, için eklenti özelliği için InstallData kullanımı Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada

Kısmen doğru, InstallData özniteliğin InsertData için kullanılır (öznitelik değeri) Diyelim ki installSchema tarafından "Slider" adlı tablo oluşturdunuz Şimdi her slayt Verisini eklemeniz gerekir Sonra InstallData dosyasını kullanmanız ve her slaydın verilerini tanımlamanız gerekir . Mantıklı olmak ?
Manthan Dave

8

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.


6

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

  1. InstallSchema.php
  2. InstallData.php
  3. UpgradeSchema.php
  4. 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ı konsepte InstallData.phpsahip 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 kullanabilirsiniz InstallData.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.


4

2 arasındaki temel fark vardır.

InstallSchema veritabanı yapısını kurmak için modül kurulduğunda çalışır

İken InstallDatamodülü veritabanı tablo için veri başlangıç yüklendiğinde çalışacaktır

Sorgunuzu netleştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.