I have used setup to create table but script is not creating the table. I have also removed the entry from setup_module
table but still, it didn't work.
InstallSchema.php
<?php
namespace Vendor\Module\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
/**
* @codeCoverageIgnore
*/
class InstallSchema implements InstallSchemaInterface
{
/**
* {@inheritdoc}
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
/**
* Create table 'rentals'
*/
$table = $installer->getConnection()->newTable(
$installer->getTable('rentals'))
->addColumn(
'id',
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
null,
['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true],
'Id'
)->addColumn(
'name',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Name'
)->addColumn(
'phone',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false, 'default' => '0'],
'Phone'
)->addColumn(
'email',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Email'
)->addColumn(
'address',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Address'
)->addColumn(
'sku',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Sku'
)->addColumn(
'qty',
\Magento\Framework\DB\Ddl\Table::TYPE_Integer,
null,
['nullable' => false],
'Qty'
)->setComment(
'rentals'
);
$installer->getConnection()->createTable($table);
$installer->endSetup();
}
}
Best Answer
Note:: Delete module entry from table
setup_module
After testing the code i found out there were two error
TYPE_Integer
andTYPE_INTEGER
tested code and workeing