How to Create Customer Attribute Using Data Patch

Blog
Spread the love

Today we will learn how we can create a custom customer attribute through a data patch but first we
should know a little bit about data patches.

Data Patch:

  • It is a class that stores instructions for data modification.
  • InstallData and UpgradeData were used in Magento 2.1 and 2.2. This script works in Magento 2.3.x also but being a Professional Developer one should use a data patch to add or modify EAV data.
  • Magento 2.3.x has introduced the Data Patch Interface Magento\Framework\Setup\Patch\DataPatchInterface to add or modify the EAV data.
  • DataPatchInterface must implement three functions: apply(), getDependencies() and getAliases()
  • All data patches should be inside app/code/[vendor_name]/[module_name]/Setup/Patch/Data.

Note: Patches will only be applied once and stored in the patch_list database table.

To create a custom customer attribute through a data patch, follow the steps which are given below:

Step 1: Create Basic Module

Create registration.php file under app/code/[vendor_name]/[module_name]

(In my case, vendor_name is ‘Bluethink’ and module_name is ‘CustomerAttribute’)

Now, create module.xml file under app/code/Bluethink/CustomerAttribute/etc

Step 2: Create a Data Patch file

Create CustomAttribute.php file under app/code/Bluethink/CustomerAttribute/Setup/Patch/Data

In Last, Now just execute the below command:

apply() function is used to define your core logic for installing/upgrading data to the database.

getAliases() function defines aliases for the patch class. In this case, the class name could possibly
change, and if it does, we should supply the old class-name here, so that it doesn’t get executed a
second time.

getDependencies() function contain the class name of dependent patches. This functionality notifies
Magento to execute the “patches”. We first define it here, before the patch script.

Thanks for reading my blog. I hope you would learn a lot of things from this blog. Keep liking and
sharing!!

bluethinkinc_blog

bluethinkinc_blog

2022-08-09

0

Leave a Reply

Your email address will not be published. Required fields are marked *

Find More Blogs

Intro – Salesforce CPQ

Spread the love Intro – Salesforce CPQ Today I am going

What is an Object in Salesforce?

Spread the love In Salesforce, an object is like a table in

Asynchronous Apex in Salesforce: A Simple Guide

Spread the love In Salesforce development, managing how and

Understanding Database Allows Callout in Salesforce Apex

Spread the love In Salesforce, the Database.AllowsCallouts

PODMAN

Spread the love 1.Introduction Podman: The Modern Container

Running Your Java Program (JAR) 24/7 on AWS EC2 Automatically

Spread the love Introduction Running a Java application

Building a REST API with Spring Boot

Spread the love Introduction REST (Representational State

Custom API to Fetch Customer Data by Customer ID in Spryker

Spread the love Introduction In this blog post, we will

Creating a Custom Module for a Custom Frontend Page in Spryker

Spread the love To create a custom module for a custom

How to create custom module api get category list without access token in Spryker

Spread the love To create a custom API for fetching a

bluethinkinc Blogs