How To Create db_schema_whitelist.json in Magento 2.3.x & 2.4.x

db_schema_whitelist.json file having history of all tables, columns, primary keys, foreign key, constraint keys combination etc, those are created by using the declarative schema.

There are two ways to generate db_schema_whitelist.json by following below methods

Step [1] – Manually To Create db_schema_whitelist.json

Need to create file below path

app/code/VendorName/ModuleName/etc/db_schema_whitelist.json

Step [2] – CLI Command To Create db_schema_whitelist.json

php bin/magento setup:db-declaration:generate-whitelist --module-name=VendorName_ModuleName

It will auto create db_schema_whitelist.json below path

   app/code/VendorName/ModuleName/etc/db_schema_whitelist.json 

Cannot process definition to array for type tinytext in Magento 2.x

This error occurs because any third-party extension’s table’s column data type as tinytext.

This error occurs if any Third Party Extension’s table’s column data type as tinytext

Solution:: There are following below steps need to follow

Step [1] – Open below path file

/vendor/magento/framework/Setup/Declaration/Schema/Db/DefinitionAggregator.php

 fint fromDefinition() method and then add debug code to find column name as below , we have addedd (debugging) code inside

/* Starts Add Code for Debug */ and /* Code End for Debug */

To find column name

public function fromDefinition(array $data)
    {
        $type = $data['type'];
        if (!isset($this->definitionProcessors[$type])) {

            /* Starts Add Code for Debug */

            echo "<pre>";
            print_r($data); exit();

            /* Code End for Debug  */

            throw new \InvalidArgumentException(
                sprintf("Cannot process definition to array for type %s", $type)
            );
        }

        $definitionProcessor = $this->definitionProcessors[$type];
        return $definitionProcessor->fromDefinition($data);
    }

Step [2] – Run setup:upgrade command and you will get an array of column data in the console. so from this array, you will get the name of the column from your third party extension table.

Now from that table please change column’s data type “tinytext” to “text” 

Step [3] – Finally issue has been resolved.

How To Create Custom Module in Magento 2.x

Module is backbone of Magento 2, Module having collection of Controllers, Models, Blocks, Helpers, Layouts, Templates, Plugins, Observer etc. These ineract with each other as well as ineract with
Magento 2 exisiting functionalities in order to add a specific feature to a Magento 2 application.

There are following below steps need to follow to create Magento 2 custom module.

Step [1] – Nominate Module Name :: Syntax as below

Namespace_Modulename or Vendorname_Modulename

Namespace(Vendorname) always must be unique.

Step [2] – Create a new directory for the custom module

Syntax as below

Namespace / ModuleName or Vendorname / ModuleName

Step [3] – Create a module’s registration file :: This file name is registration.php & used to registered module.

Syntax as below

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Namespace_Modulename',
    __DIR__
);

Namespace = Mage2db

Modulename = John

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Mage2db_John',
    __DIR__
);

Briefly Explain registration.php

Step [4] – Create a module’s naming configuration file :: This file name is module.xml & used to define module name ( Namespace_Modulename ) as well as store module into database table setup_module

Syntax as below

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Namespace_Modulename" setup_version="3.0.1"/> 
</config>

Namespace = Mage2db

Modulename = John

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Mage2db_John" setup_version="3.0.1"/> 
</config>

The schema_version is no longer required since releasing Magento 2.3.3

Briefly Explain module.xml


How To Create Events & Observer Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Preference Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Plugin Using Custom Module in Magento / Adobe Commerce 2.x


How To Get Base URL in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Module in Magento 2.x / Adobe Commerce 2.x


How To Add Custom Block on Cart Page in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Log File in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Controller in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Console Command in Magento 2.x / Adobe Commerce 2.x


How To Add Customer Groups Dropdown in Magento 2.x Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.


How To Get all Customers Data in Magento 2.x / Adobe Commerce 2.x


How To Set Tier Price With Percentage Value Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Tier Price Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Websites Dropdown in Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.x


Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2


How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products


Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

Magento 2.x Script To Get all Customers Data

There are following below need to click, where each steps has been defined by using Dependency Injection to get all Customers Data.

How To Create Events & Observer Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Preference Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Plugin Using Custom Module in Magento / Adobe Commerce 2.x


How To Get Base URL in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Module in Magento 2.x / Adobe Commerce 2.x


How To Add Custom Block on Cart Page in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Log File in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Controller in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Console Command in Magento 2.x / Adobe Commerce 2.x


How To Add Customer Groups Dropdown in Magento 2.x Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.


How To Get all Customers Data in Magento 2.x / Adobe Commerce 2.x


How To Set Tier Price With Percentage Value Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Tier Price Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Websites Dropdown in Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.x


Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2


How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products


Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

How To Get all Customers Data in Magento 2.x

There are following below steps need to follow, to get all customers in Magento 2

Here, we consider Custom Module with Mage2db_AllCustomers has been already created, we are creating module & calling inside template.

Step [1] – Create below code in block file path Mage2db/AllCustomers/Block/AllCustomers.php

namespace Mage2db/AllCustomers/Block;

use Magento\Backend\App\Action;


class AllCustomers extends Action
{

    protected $customerCollection;

    public function __construct(
        \Magento\Customer\Model\ResourceModel\Customer\CollectionFactory $customerCollection
    )
    {
        $this->customerCollection = $customerCollection;
    }

    public function getAllCustomers()
    {
            return $this->customerCollection->create();


    }
}

Step [2] – Now call function getAllCustomers() inside template & get data.

$allCustomersdata = $this->getAllCustomers();
foreach ($allCustomersdata as $customer) {
    echo $customer->getEmail();
    echo $customer->getFirstname();
    echo $customer->getLastname();
}

How To Create Events & Observer Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Preference Using Custom Module in Magento / Adobe Commerce 2.x


How To Create Plugin Using Custom Module in Magento / Adobe Commerce 2.x


How To Get Base URL in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Module in Magento 2.x / Adobe Commerce 2.x


How To Add Custom Block on Cart Page in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Log File in Magento 2.x / Adobe Commerce 2.x


How To Create Custom Controller in Magento 2.x / Adobe Commerce 2.x


How To Create a Custom Console Command in Magento 2.x / Adobe Commerce 2.x


How To Add Customer Groups Dropdown in Magento 2.x Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.


How To Get all Customers Data in Magento 2.x / Adobe Commerce 2.x


How To Set Tier Price With Percentage Value Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Tier Price Programmatically in Magento 2.x / Adobe Commerce 2.x


How To Add Websites Dropdown in Admin Form and Grid By UI Component in Magento 2.x / Adobe Commerce 2.x


Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2


How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products


Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

How To Create Customer Order in Magento 2.x Admin Panel

Once Customer do not have time to visit site for shopping, he request to Site Owner to provide order on behalf of him.

There are following below steps need to follow.

Step [1] – Go to Admin Panel > Sales > Orders

Click on Orders

Step [2] – Once Click Orders, redirect on List Orders page

Step [3] – Click on Create New Order Button redirect on Create New Order Store View Page

Select a customer Veronica Costello , for whom, Store Owner(Admin) want to create custom Order.

Step [4] – Here selected Customer [Veronica Costello], redirect on

Create a New Order For Veronica Costello

Step [5] – Once Click on Add Products Button, list of products will be displayed as below

Step [6] – Select Product Erika Running Short (Product ID – 2046) will be redirected below page to select Size & Color

Once Click on OK redirect on Step [7]

Step [7] – After clicking on OK button, redirect on back page

Create a New Order For Veronica Costello with selected product

Here, we have selected Product Erika Running Short (Product ID – 2046), checked box indicated , product has been selected

Step [8] – After that click on Add Selected Product(s) to Order Button will be redirected on same page with selected product details as

Product Name, Price, Qty, Subtotal, Discount , Row Subtotal

Step [9] – Select Payment Method (Check / Money Order) & Shipping Method [Flat Rate].

Step [10] – Finally click on Submit Order Button

Order (#000000003) for Customer ( Veronica Costello ) has been created by Admin.

Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2



How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address



How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products



Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

How do disable Allow remote shopping assistance in Magento 2.4

To disable the module LoginAsCustomerAssistance of Customer’s Account Dashboard in (Magento 2.4 and Later Version) via command line.

There are following below command need to be run in Root Directory (Magento 2.4 & later version)

php bin/magento module:disable Magento_LoginAsCustomerAssistance

Once above command run, option “Allow remote shopping assistance “
will be not displayed in Customer Account DashBoard Section

Other important Magento 2.4.x issue as below

Magento 2.3 To Magento 2.4.5 Comptibility For PHP, MYSQL, Composer, Apache etc


Magento 2.4.3-p1 Installation Steps


Magento 2.4.3 Installation Steps


Magento 2.4.3 Features


Magento 2.4.3 – p1 Features


Magento 2.4 Two Factor Authentication


Magento 2.4.1 Features


Magento 2.4 Features


Magento 2.4 Installation


Magento 2.2, Magento 2.3, Magento2.4 Installation Issue on Windows 10, XAMPP


Magento 2 Installation at 51% Error: (Wrong file in Gd2.php:64) Module ‘Magento_Theme’

Magento 2.x Login As Customer Not Enabled

If above error as Image or “Login As Customer Not Enabled” occurs

Solution : There are following below link to redirect on solution page , where each steps has been explained properly.

Magento 2 All Database Tables [500 & more Tables]


How To Set Multi Shipping Settings In Magento 2


How To Set Origin Shipping in Magento 2


Difference Between Offline Shipping Method and Online Shipping Method


Magento 2 Online Customers Options



How To Apply Customer Group Price of Products in Magento 2



How To Add Customer Groups Dropdown in Magento 2 Admin Form and Grid By UI Component


How To Get all Customers Data in Magento 2


How To Create Customer Order in Magento 2 Admin Panel


Magento 2 Login As Customer Not Enabled


How To Configure Customer Account Sharing Options in Magento 2


Magento 2 Redirect To Customer Dashboard After Login


Which Magento 2 database table store customer shipping and billing address


How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 database table store customer’s Email Data


Which Magento 2 Database Table Store Customer Newsletter Data


Which Magento 2 database table store customer’s shipping and billing address



How To Remove Sales Order Data & Customer Data in Magento 2


Which Magento 2 Database Tables Store Customer Rating


Which Magento 2 Database Tables Store Customer Wishlist Products



Magento 2 Increase Customer Session Time


Which Magento 2 Database Table Store Patches

The user has not enabled the “Allow remote shopping assistance” functionality. Contact the customer to discuss this user configuration

Mageno 2, this errors occurs while Admin trying to login as Customer Login from admin end due to following below reasons.

[1] – To view store as Customer’s point of view.

[2] – To modify Customer’s Data as per their permission.

[3] – To check Sales Order, Invoice, Shipment process, delivery status as per customer’s permission.

[4] – To assist customers, how to shopping, as Best Shopping Deals, Best Running Discount, Festive Offers etc.

Solution For :: The user has not enabled the Allow remote shopping assistance functionality. Contact the customer to discuss this user configuration

There are following below steps need to follow

Step [1] – Go STORES > Configuration, redirects Configuration section.

Step [2] – Left panel, choose CUSTOMERS > Login as Customer

Step [3] -Right panel opened Login as Customer Settings

Login as Customer Settings having following fields

Enable Extension : Select Yes to enable Admin Login as Customer

Disable Page Cache For Admin User : If Yes, the page cache will be disabled for the admin user.

Store View To Login To : There two drop down values

by default Auto-Detection & Manual selection

Use the “Manual Selection” option on a multi-website setup that has “Share Customer Accounts” enabled globally. If set to “Manual Selection”, the “Login as Customer” admin can select a Store after logging in.

Title For Login As Customer Opt in Checkbox : To change name for Title For Login As Customer, by default “Allow remote shopping assistance”

Login As Customer Checkbox Tooltip : To change description for Login As Customer Checkbox Tooltip

By default “This allows merchants to “see what you see” and take actions on your behalf in order to provide better assistance.”

Step [4] – Finally clicked on Save Config button & clear cache

All above steps settings applicable upto Magento 2.3.7

Once Release Magento 2.4, customers will also have to enable Allow remote shopping assistance from their Dashboard before an admin can log in:

Go Customer’s Account Dashboard & left side click on Account Information & checked Allow remote shopping assistance

If a customer has not enabled this option (Magento 2.4 and Later Version), then when an admin tries to log in to their account, an error message will be displayed: “The user has not enabled the “Allow remote shopping assistance” functionality. Contact the customer to discuss this user configuration.”

If Admin want to avoid this exta step, disable the module LoginAsCustomerAssistance via command line in Root Directory (Magento 2.4 & later version)

php bin/magento module:disable Magento_LoginAsCustomerAssistance

Once above command run, option “Allow remote shopping assistance
will be not displayed in Customer Account DashBoard Section

How To Install Magento 2.4.x & 2.4.5 via Composer

There are following below Steps need to follow

Here, we considering machine has been already installed following below software as per compatibility of Magento 2.4 Requirement

  • PHP Latest Version 7.4 or above
  • Elastic Search Latest Version 7.6 & above
  • MYSQL Latest Version 5.7 or 8.0
  • Apache Version 2.4 or Nginx Version 1.8
  • Composer 2.0

Step[1] – Download Magento 2.4

Run the following below command in the root directory [Create Empty Folder inside C:/xampp/htdocs/magento244] to download Magento 2 by using composer

[1.1] Magento 2.4 Community Edition

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .

[1.2] [ Magento 2.4.x Enterprise Edition (Adobe Commerce Enterprise Edition 2.4.x) / Magento 2.4.x Cloud Edition 2.4.x (Adobe Commerce Cloud Edition 2.4.x) ]

Here below command for Magento 2.4.4

composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition=2.4.4 .

Step[2] – Set Correct Directory & Files Permission

Run the following below command in the root directory to set correct Directory & Files Permission

sudo chmod 777 app/etc

sudo chmod 644 app/etc/*.xml

find var -type d -exec chmod 777 {} \;

find pub/media -type d -exec chmod 777 {} \;

find pub/static -type d -exec chmod 777 {} \;

sudo chmod -R 777 generated

sudo chmod -R 777 var

sudo chmod u+x bin/magento

Step[3]Magento 2.4 Instllation Command

Run the following below command to Magento 2.4

php bin/magento setup:install --base-url="http://127.0.0.1/magento24sample/" --db-host="localhost" --db-name="magesampledata24" --db-user="root" --admin-firstname="admin" --admin-lastname="admin" --admin-email="admin@admin.com" --admin-user="admin" --admin-password="admin123" --language="en_US" --currency="INR" --timezone="America/Chicago" --use-rewrites="1" --backend-frontname="admin"

--------------------------------------------------------------------

Above Command having following below data

[1] base-url=http://127.0.0.1/magento24sample/
[2] db-host="localhost"
[3] db-name::" magesampledata24"
[4] db-user:: "root"
[5] admin-firstname="admin"
[6] admin-lastname="admin"
[7] admin-email="admin@admin.com"
[8] admin-user="admin"
[9] admin-password="admin123"
[10] language="en_US"
[11] currency="USD"
[12] timezone="America/Chicago"
[13] use-rewrties="1"
[14] backend-frontname="admin"

Steps[4] – Magento 2.4 Installation Process Showing

Similarly, way as above will be displayed other running steps

Finally last two running steps

If Message displaying as below, indicates, Magento 2 Installation has been successfully installed.

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin

Run below CLI Command

php bin/magento deploy:mode:set developer

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy -f

php bin/magento indexer:reindex

php bin/magento cache:clean

php bin/magento cache:flush

Now run, Magento 2.4 Frontend URL as well as Admin URL

http://127.0.0.1/magento24sample/
http://127.0.0.1/magento24sample/admin 

admin credentials admin / admin123 

During Installation,

When installing Magento 2.4.x & if getting below error

In PatchApplier.php line 170:

Unable to apply data patch Magento\Theme\Setup\Patch\Data\RegisterThemes for module Magento_Theme. Original exception message: Wrong file

In Gd2.php line 64:

Wrong file

Error format as below

Solution: Find validateURLScheme function in vendor\magento\framework\Image\Adapter\Gd2.php file. at line 96. Replace function with this: !file_exists($filename)

Replace existing validateURLScheme function with modified validateURLScheme function as per below code

private function validateURLScheme(string $filename) : bool
  {
      $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
      $url = parse_url($filename);
      if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
          return false;
      }

      return true;
  }

Finally, Magento 2.4 or 2.4.x Installation will be completed 100% after above changes by Composer

If you want to Magento 2.4.x Sample Data Deployment, follow below Link

How to Install Magento 2.4.x with Sample Data via Command Line

Other Important Magento 2.X Link

Magento 2.3 To Magento 2.4.5 Comptibility For PHP, MYSQL, Composer, Apache etc


Magento 2.4.3-p1 Installation Steps


Magento 2.4.3 Installation Steps


Magento 2.4.3 Features


Magento 2.4.3 – p1 Features


Magento 2.4 Two Factor Authentication


Magento 2.4.1 Features


Magento 2.4 Features


Magento 2.4 Installation


Magento 2.2, Magento 2.3, Magento2.4 Installation Issue on Windows 10, XAMPP


Magento 2 Installation at 51% Error: (Wrong file in Gd2.php:64) Module ‘Magento_Theme’