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.php
và InstallData.php
?
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.php
và InstallData.php
?
Câu trả lời:
Đầ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.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
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.
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
- InstallSchema.php
- InstallData.php
- Nâng cấpSchema.php
- 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}/Setup
Tê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.php
có 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ôiInstallData.php
. Nhưng giống nhưUpgradeSchema.php
nó 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.