165 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
| <?php
 | |
| namespace IpSupply\CartToQuote\Setup;
 | |
| 
 | |
| use Magento\Framework\Setup\SchemaSetupInterface;
 | |
| use Magento\Framework\Setup\ModuleContextInterface;
 | |
| use Magento\Framework\DB\Ddl\Table;
 | |
| 
 | |
| class InstallSchema implements \Magento\Framework\Setup\InstallSchemaInterface
 | |
| {
 | |
| 
 | |
|     public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
 | |
|     {
 | |
|         $setup->startSetup();
 | |
| 
 | |
|         $connection = $setup->getConnection();
 | |
|         $tableCartItem = $setup->getTable("ip_supply_cart_to_quote_item");
 | |
|         $tableCartHistory = $setup->getTable("ip_supply_cart_to_quote_history");
 | |
|         $tableCartdetail = $setup->getTable("ip_supply_cart_to_quote_detail");
 | |
| 
 | |
|         if ($connection->isTableExists($tableCartItem) != true) {
 | |
|             $table = $connection->newTable($tableCartItem)->addColumn(
 | |
|                 'id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true]
 | |
|             )->addColumn(
 | |
|                 'product_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )->addColumn(
 | |
|                 'email',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )
 | |
|             ->addColumn(
 | |
|                 'name',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'url',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'image',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'sku',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'qty',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false, 'default' => 0]
 | |
|             )->addColumn(
 | |
|                 'customer_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )->addColumn(
 | |
|                 'price',
 | |
|                 Table::TYPE_DECIMAL,
 | |
|                 null,
 | |
|                 ['nullable' => false, 'default' => 0, 'scale'=> 1, 'precision'=> 13]
 | |
|             )
 | |
|             ->setOption('charset', 'utf8');
 | |
| 
 | |
|             $connection->createTable($table);
 | |
|         }
 | |
| 
 | |
|         if ($connection->isTableExists($tableCartHistory) != true) {
 | |
|             $table = $connection->newTable($tableCartHistory)->addColumn(
 | |
|                 'id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true]
 | |
|             )->addColumn(
 | |
|                 'date',
 | |
|                 Table::TYPE_TIMESTAMP,
 | |
|                 null,
 | |
|                 ['nullable' => false, 'default' => 'CURRENT_TIMESTAMP']
 | |
|             )->addColumn(
 | |
|                 'items_total',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )->addColumn(
 | |
|                 'customer_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )
 | |
|             ->setOption('charset', 'utf8');
 | |
| 
 | |
|             $connection->createTable($table);
 | |
|         }
 | |
| 
 | |
|         if ($connection->isTableExists($tableCartdetail) != true) {
 | |
|             $table = $connection->newTable($tableCartdetail)->addColumn(
 | |
|                 'id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true]
 | |
|             )->addColumn(
 | |
|                 'product_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )
 | |
|             ->addColumn(
 | |
|                 'name',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'url',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'image',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'sku',
 | |
|                 Table::TYPE_TEXT,
 | |
|                 255,
 | |
|                 ['nullable' => false, 'default' => '']
 | |
|             )->addColumn(
 | |
|                 'qty',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false, 'default' => 0]
 | |
|             )->addColumn(
 | |
|                 'customer_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )->addColumn(
 | |
|                 'price',
 | |
|                 Table::TYPE_DECIMAL,
 | |
|                 null,
 | |
|                 ['nullable' => false, 'default' => 0, 'scale'=> 1, 'precision'=> 13]
 | |
|             )->addColumn(
 | |
|                 'quote_history_id',
 | |
|                 Table::TYPE_INTEGER,
 | |
|                 null,
 | |
|                 ['nullable' => false]
 | |
|             )
 | |
|             ->setOption('charset', 'utf8');
 | |
| 
 | |
|             $connection->createTable($table);
 | |
|         }
 | |
| 
 | |
|         $setup->endSetup();
 | |
|     }
 | |
| } |