You need to use below cod in your setup script of your custom module
<?php
namespace Vendor\Modulename\Setup;
use Magento\Sales\Setup\SalesSetupFactory;
use Magento\Eav\Model\Entity\Attribute\SetFactory as AttributeSetFactory;
use Magento\Framework\Setup\InstallDataInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
/**
* InstallData
*
* @codeCoverageIgnore
*/
class InstallData implements InstallDataInterface
{
/**
* SalesSetupFactory
*
* @var SalesSetupFactory
*/
protected $salesSetupFactory;
/**
* Constructor
* @param SalesSetupFactory $salesSetupFactory
*/
public function __construct(
SalesSetupFactory $salesSetupFactory
) {
$this->salesSetupFactory = $salesSetupFactory;
}
/**
* Install
*
* @param ModuleDataSetupInterface $setup
* @param ModuleContextInterface $context
*/
public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
{
/** @var \Magento\Sales\Setup\SalesSetup $salesInstaller */
$salesInstaller = $this->salesSetupFactory->create(['resourceName' => 'sales_setup', 'setup' => $setup]);
$salesInstaller->addAttribute('order_item', 'test', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'length'=> 10, 'visible' => false,'nullable' => true,]);
}
}
extension_attributes
instead. magento.stackexchange.com/questions/261970/…