Sự khác biệt giữa InstallSchema và InstallData


11

Tôi muốn biết sự khác biệt giữa InstallSchema và InstallData một cách chi tiết.

Tôi cũng cần biết khi nào tôi có thể sử dụng InstallSchema.phpInstallData.php?


Hãy cho tôi biết nếu bạn vẫn có bất kỳ vấn đề nào, nếu không hãy chấp nhận câu trả lời để người dùng khác được giúp đỡ
Manthan Dave

Câu trả lời:


17

Đầu tiên cả hai phương thức InstallSchema và InstallData đều được gọi khi bạn cài đặt bất kỳ mô-đun mới nào

Các kịch bản thiết lập lược đồ thay đổi lược đồ cơ sở dữ liệu, chúng tạo hoặc thay đổi các bảng cơ sở dữ liệu cần thiết. Nếu mô-đun đang cài đặt, Setup \ InstallSchema :: install () được thực thi.

Nó có nghĩa là nó tạo bảng mới và các trường của nó với cấu trúc của nó.

Các kịch bản thiết lập InstallData chứa mô-đun mục cần chèn vào cơ sở dữ liệu. Các thuộc tính đi kèm với Magento theo mặc định, các trang Cms, các nhóm và vai trò mặc định khác nhau, đều là các ví dụ về thiết lập dữ liệu.

Thiết lập dữ liệu được thực hiện sau khi thiết lập Schema, chúng hoạt động theo kiểu tương tự.

Vì vậy, đi đến kết luận, sự khác biệt chính giữa cả hai là InstallSchema được sử dụng để tạo bảng và cấu trúc của nó. Trong khi InstallData được sử dụng để chèn / thêm dữ liệu vào bảng.


Phương tiện, InstallData sử dụng cho tiện ích thuộc tính cho Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada

Bạn đã đúng một phần, InstallData được sử dụng để ChènData thuộc tính (giá trị của thuộc tính) Hãy nói rằng bạn đã tạo bảng có tên là "Thanh trượt" bởi installSchema Bây giờ bạn cần chèn từng slide Dữ liệu sau đó bạn cần sử dụng tệp InstallData và xác định dữ liệu của từng slide . Có lý ?
Manthan Dave

8

Có sự khác biệt sau đây,

Cài đặt

Mục đích InstallSchema.php là tạo bảng / thuộc tính / trường mới trong Cơ sở dữ liệu

Cài đặtData

Mục đích của InstallData.php là chèn Dữ liệu / giá trị vào cơ sở dữ liệu.


6

Magento2 sử dụng Bốn loại tệp cho các hoạt động ban đầu liên quan đến cơ sở dữ liệu được thực hiện chỉ với quá trình cài đặt mô-đun (Các tệp này chỉ chạy một lần trong suốt sự tồn tại của chúng). Những tập tin như sau

  1. InstallSchema.php
  2. InstallData.php
  3. Nâng cấpSchema.php
  4. Nâng cấpData.php

Tất cả các tệp này đều có mặt Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/SetupTên không gian của mô-đun magento của bạn. Ở đây tôi đã mô tả tất cả các tập tin với việc sử dụng chúng.

InstallSchema.php

Tệp này được thực thi đầu tiên ngay sau khi đăng ký mô-đun của bạn (Có nghĩa là ngay sau khi mô-đun & các mục nhập phiên bản của nó được thực hiện trong bảng -> setup_module). Tệp này được sử dụng để tạo các bảng có thuộc tính cột của chúng vào cơ sở dữ liệu của bạn, sau này được sử dụng bởi mô-đun mới được cài đặt.

InstallData.php

Tập tin này được thực hiện sau InstallSchema.php. Nó được sử dụng để thêm dữ liệu vào bảng vừa tạo hoặc bất kỳ bảng hiện có nào.

Nâng cấpSchema.php

Tệp này đi kèm với mô-đun & chỉ chạy sau đó, nếu bạn đã cài đặt mô-đun phiên bản trước đó trong magento của mình (Có nghĩa là nó đã nhập phiên bản trước đó vào bảng -> setup_module). Nó được sử dụng để thao tác bảng liên quan đến mô-đun (Có nghĩa là nó được sử dụng để thay đổi lược đồ bảng có nghĩa là thuộc tính cột & để thêm cột mới vào bảng đó).

Nâng cấpData.php

Tập tin này chạy sau UpgradeSchema.php. Nó có cùng khái niệm như InstallData.phpcó nhưng sử dụng tệp này, bạn có thể thay đổi / thay đổi nội dung cơ sở dữ liệu mà không cần sử dụng tệp mô hình. Bạn cũng có thể sử dụng tệp này để thêm nội dung mới vào cơ sở dữ liệu cùng chúng tôi InstallData.php. Nhưng giống như UpgradeSchema.phpnó cũng sẽ chỉ chạy sau đó nếu bạn có các mô-đun phiên bản trước đó được cài đặt trong magento của bạn.

Như tôi đã nói khi bắt đầu các tệp này chỉ chạy một lần, vì vậy, việc sử dụng cơ bản của các tệp này là chuẩn bị các bảng và dữ liệu cho Mô-đun được mô-đun sử dụng thông qua sự tồn tại của nó.

Lưu ý: Magento sử dụng các tệp này để tạo các bảng được sử dụng cho các chức năng của Magentos & để thêm các nội dung như cms_contents, customer_groups & các thuộc tính, Products_Types & thuộc tính, Nhóm thuế, v.v.


4

Có sự khác biệt cơ bản giữa 2 là

InstallSchema sẽ chạy khi mô-đun được cài đặt để thiết lập cấu trúc cơ sở dữ liệu

Trong khi InstallData sẽ chạy khi mô-đun được cài đặt để khởi tạo dữ liệu cho bảng cơ sở dữ liệu

Hoope này rõ ràng truy vấn của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.