public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $entityTypeModel = $this->_entityTypeModel; $catalogAttributeModel = $this->_catalogAttribute; $installer = $this->_eavSetup; $setup->startSetup(); /** * Drop table if exists */ $setup->getConnection()->dropTable($setup->getTable('ves_brand_group')); $setup->getConnection()->dropTable($setup->getTable('ves_brand')); $setup->getConnection()->dropTable($setup->getTable('ves_brand_store')); /** * Create table 'ves_brand_group' */ $table = $setup->getConnection()->newTable($setup->getTable('ves_brand_group'))->addColumn('group_id', Table::TYPE_INTEGER, 11, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Group ID')->addColumn('name', Table::TYPE_TEXT, 255, ['nullable' => false], 'Group Name')->addColumn('url_key', Table::TYPE_TEXT, 255, ['nullable' => false], 'Group Url Key')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addColumn('status', Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Status')->addColumn('shown_in_sidebar', Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Show In Sidebar')->setComment('Brand Group'); $setup->getConnection()->createTable($table); /** * Create table 'ves_brand' */ $table = $setup->getConnection()->newTable($setup->getTable('ves_brand'))->addColumn('brand_id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Brand ID')->addColumn('name', Table::TYPE_TEXT, 255, ['nullable' => false], 'Brand Name')->addColumn('url_key', Table::TYPE_TEXT, 255, ['nullable' => false], 'Brand Url Key')->addColumn('description', Table::TYPE_TEXT, '64k', ['nullable' => false], 'Brand Description')->addColumn('group_id', Table::TYPE_INTEGER, 11, ['unsigned' => true, 'nullable' => false], 'Group ID')->addColumn('image', Table::TYPE_TEXT, 255, ['nullable' => false], 'Brand Image')->addColumn('thumbnail', Table::TYPE_TEXT, 255, ['nullable' => false], 'Brand Thumbnail')->addColumn('page_title', Table::TYPE_TEXT, 255, ['nullable' => false], 'Brand Page Title')->addColumn('meta_keywords', Table::TYPE_TEXT, '64k', ['nullable' => false], 'Meta Keywords')->addColumn('meta_description', Table::TYPE_TEXT, '64k', ['nullable' => false], 'Meta Description')->addColumn('creation_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Brand Creation Time')->addColumn('update_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Brand Modification Time')->addColumn('page_layout', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Page Layout')->addColumn('layout_update_xml', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Page Layout Update Content')->addColumn('status', Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Status')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($setup->getIdxName('ves_brand', ['group_id']), ['group_id'])->addForeignKey($setup->getFkName('ves_brand', 'group_id', 'ves_brand', 'group_id'), 'group_id', $setup->getTable('ves_brand_group'), 'group_id', Table::ACTION_CASCADE)->setComment('Brand Information'); $setup->getConnection()->createTable($table); /** * Create table 'ves_brand_store' */ $table = $setup->getConnection()->newTable($setup->getTable('ves_brand_store'))->addColumn('brand_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Brand Id')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store Id')->addIndex($setup->getIdxName('ves_brand_store', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName('ves_brand_store', 'brand_id', 'ves_brand', 'brand_id'), 'brand_id', $setup->getTable('ves_brand'), 'brand_id', Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('ves_brand_store', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Brand Store'); $setup->getConnection()->createTable($table); $installer->removeAttribute($entityTypeModel->loadByCode('catalog_product')->getData('entity_type_id'), 'product_brand'); $data = array('group' => 'General', 'type' => 'varchar', 'input' => 'select', 'default' => 1, 'label' => 'Product Brand', 'backend' => 'Magento\\Eav\\Model\\Entity\\Attribute\\Backend\\ArrayBackend', 'frontend' => '', 'source' => 'Ves\\Brand\\Model\\Brandlist', 'visible' => 1, 'required' => 1, 'user_defined' => 1, 'used_for_price_rules' => 1, 'position' => 2, 'unique' => 0, 'default' => '', 'sort_order' => 100, 'is_global' => \Magento\Catalog\Model\ResourceModel\Eav\Attribute::SCOPE_STORE, 'is_required' => 0, 'is_configurable' => 1, 'is_searchable' => 0, 'is_visible_in_advanced_search' => 0, 'is_comparable' => 0, 'is_filterable' => 0, 'is_filterable_in_search' => 1, 'is_used_for_promo_rules' => 1, 'is_html_allowed_on_front' => 0, 'is_visible_on_front' => 1, 'used_in_product_listing' => 1, 'used_for_sort_by' => 0); $installer->addAttribute($entityTypeModel->loadByCode('catalog_product')->getData('entity_type_id'), 'product_brand', $data); $brandIds = $catalogAttributeModel->loadByCode('catalog_product', 'product_brand'); $brandIds->addData($data)->save(); $setup->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $setup->startSetup(); $version = $context->getVersion(); $connection = $setup->getConnection(); if (version_compare($version, '2.0.1') < 0) { foreach (['magefan_blog_post_relatedpost', 'magefan_blog_post_relatedproduct'] as $tableName) { // Get module table $tableName = $setup->getTable($tableName); // Check if the table already exists if ($connection->isTableExists($tableName) == true) { $columns = ['position' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'nullable' => false, 'comment' => 'Position']]; foreach ($columns as $name => $definition) { $connection->addColumn($tableName, $name, $definition); } } } $connection->addColumn($setup->getTable('magefan_blog_post'), 'featured_img', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Thumbnail Image']); } if (version_compare($version, '2.2.0') < 0) { /* Add author field to posts tabel */ $connection->addColumn($setup->getTable('magefan_blog_post'), 'author_id', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'nullable' => true, 'comment' => 'Author ID']); $connection->addIndex($setup->getTable('magefan_blog_post'), $setup->getIdxName($setup->getTable('magefan_blog_post'), ['author_id']), ['author_id']); } if (version_compare($version, '2.2.5') < 0) { /* Add layout field to posts and category tabels */ foreach (['magefan_blog_post', 'magefan_blog_category'] as $table) { $table = $setup->getTable($table); $connection->addColumn($setup->getTable($table), 'page_layout', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Post Layout']); $connection->addColumn($setup->getTable($table), 'layout_update_xml', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => '64k', 'nullable' => true, 'comment' => 'Post Layout Update Content']); $connection->addColumn($setup->getTable($table), 'custom_theme', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 100, 'nullable' => true, 'comment' => 'Post Custom Theme']); $connection->addColumn($setup->getTable($table), 'custom_layout', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Post Custom Template']); $connection->addColumn($setup->getTable($table), 'custom_layout_update_xml', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => '64k', 'nullable' => true, 'comment' => 'Post Custom Layout Update Content']); $connection->addColumn($setup->getTable($table), 'custom_theme_from', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_DATE, 'nullable' => true, 'comment' => 'Post Custom Theme Active From Date']); $connection->addColumn($setup->getTable($table), 'custom_theme_to', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_DATE, 'nullable' => true, 'comment' => 'Post Custom Theme Active To Date']); } } if (version_compare($version, '2.3.0') < 0) { /* Add meta title field to posts tabel */ $connection->addColumn($setup->getTable('magefan_blog_post'), 'meta_title', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Post Meta Title', 'after' => 'title']); /* Add og tags fields to post tabel */ foreach (['type', 'img', 'description', 'title'] as $type) { $connection->addColumn($setup->getTable('magefan_blog_post'), 'og_' . $type, ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Post OG ' . ucfirst($type), 'after' => 'identifier']); } /* Add meta title field to category tabel */ $connection->addColumn($setup->getTable('magefan_blog_category'), 'meta_title', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Category Meta Title', 'after' => 'title']); /** * Create table 'magefan_blog_tag' */ $table = $setup->getConnection()->newTable($setup->getTable('magefan_blog_tag'))->addColumn('tag_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Tag ID')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Tag Title')->addColumn('identifier', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, ['nullable' => true, 'default' => null], 'Tag String Identifier')->addIndex($setup->getIdxName('magefan_blog_tag', ['identifier']), ['identifier'])->setComment('Magefan Blog Tag Table'); $setup->getConnection()->createTable($table); /** * Create table 'magefan_blog_post_tag' */ $table = $setup->getConnection()->newTable($setup->getTable('magefan_blog_post_tag'))->addColumn('post_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'primary' => true], 'Post ID')->addColumn('tag_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'primary' => true], 'Tag ID')->addIndex($setup->getIdxName('magefan_blog_post_tag', ['tag_id']), ['tag_id'])->addForeignKey($setup->getFkName('magefan_blog_post_tag', 'post_id', 'magefan_blog_post', 'post_id'), 'post_id', $setup->getTable('magefan_blog_post'), 'post_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('magefan_blog_post_tag', 'tag_id', 'magefan_blog_tag', 'tag_id'), 'tag_id', $setup->getTable('magefan_blog_tag'), 'tag_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Magefan Blog Post To Category Linkage Table'); $setup->getConnection()->createTable($table); } $setup->endSetup(); }
/** * @inheritdoc * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @throws \Zend_Db_Exception */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $table = $setup->startSetup()->getConnection()->newTable($setup->getTable(self::PAYMENT_TOKEN_TABLE))->addColumn(InstallSchema::ID_FILED_NAME, Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('customer_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Customer Id')->addColumn('public_hash', Table::TYPE_TEXT, 128, ['nullable' => false], 'Hash code for using on frontend')->addColumn('payment_method_code', Table::TYPE_TEXT, 128, ['nullable' => false], 'Payment method code')->addColumn('type', Table::TYPE_TEXT, 128, ['nullable' => false], 'Type')->addColumn('created_at', Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => Table::TIMESTAMP_INIT], 'Created At')->addColumn('expires_at', Table::TYPE_TIMESTAMP, null, ['nullable' => true], 'Expires At')->addColumn('gateway_token', Table::TYPE_TEXT, 255, ['nullable' => false], 'Gateway Token')->addColumn('details', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Details')->addColumn('is_active', Table::TYPE_BOOLEAN, null, ['nullable' => false, 'dafault' => true], 'Is active flag')->addColumn('is_visible', Table::TYPE_BOOLEAN, null, ['nullable' => false, 'dafault' => true], 'Is visible flag')->addIndex($setup->getIdxName('vault_payment_token_unique_index', ['payment_method_code', 'customer_id', 'gateway_token'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['payment_method_code', 'customer_id', 'gateway_token'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName('vault_payment_token_hash_unique_index', ['public_hash'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['public_hash'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName($setup->getTable(self::PAYMENT_TOKEN_TABLE), 'customer_id', $setup->getTable('customer_entity'), 'entity_id'), 'customer_id', $setup->getTable('customer_entity'), 'entity_id', Table::ACTION_CASCADE)->setComment('Vault tokens of payment'); $setup->getConnection()->createTable($table); $table = $setup->startSetup()->getConnection()->newTable($setup->getTable(self::ORDER_PAYMENT_TO_PAYMENT_TOKEN_TABLE))->addColumn('order_payment_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Order payment Id')->addColumn('payment_token_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Payment token Id')->addForeignKey($setup->getFkName($setup->getTable(self::ORDER_PAYMENT_TO_PAYMENT_TOKEN_TABLE), 'order_payment_id', $setup->getTable('sales_order_payment'), 'entity_id'), 'order_payment_id', $setup->getTable('sales_order_payment'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($setup->getTable(self::ORDER_PAYMENT_TO_PAYMENT_TOKEN_TABLE), 'payment_token_id', $setup->getTable(self::PAYMENT_TOKEN_TABLE), 'entity_id'), 'payment_token_id', $setup->getTable(self::PAYMENT_TOKEN_TABLE), 'entity_id', Table::ACTION_CASCADE)->setComment('Order payments to vault token'); $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * * @param SchemaSetupInterface $setup * @return void */ protected function addForeignKeys(SchemaSetupInterface $setup) { /** * Add foreign keys again */ $setup->getConnection()->addForeignKey($setup->getFkName(Media::GALLERY_VALUE_TABLE, 'value_id', Media::GALLERY_TABLE, 'value_id'), $setup->getTable(Media::GALLERY_VALUE_TABLE), 'value_id', $setup->getTable(Media::GALLERY_TABLE), 'value_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE); $setup->getConnection()->addForeignKey($setup->getFkName(Media::GALLERY_VALUE_TABLE, 'store_id', $setup->getTable('store'), 'store_id'), $setup->getTable(Media::GALLERY_VALUE_TABLE), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); /** * Create table 'weee_tax' */ $table = $setup->getConnection()->newTable($setup->getTable('weee_tax'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value Id')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Website Id')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity Id')->addColumn('country', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 2, ['nullable' => true], 'Country')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Value')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'State')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Attribute Id')->addIndex($setup->getIdxName('weee_tax', ['website_id']), ['website_id'])->addIndex($setup->getIdxName('weee_tax', ['entity_id']), ['entity_id'])->addIndex($setup->getIdxName('weee_tax', ['country']), ['country'])->addIndex($setup->getIdxName('weee_tax', ['attribute_id']), ['attribute_id'])->addForeignKey($setup->getFkName('weee_tax', 'country', 'directory_country', 'country_id'), 'country', $setup->getTable('directory_country'), 'country_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('weee_tax', 'entity_id', 'catalog_product_entity', 'entity_id'), 'entity_id', $setup->getTable('catalog_product_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('weee_tax', 'website_id', 'store_website', 'website_id'), 'website_id', $setup->getTable('store_website'), 'website_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('weee_tax', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Weee Tax'); $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * {@inheritdoc} */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $contextInterface) { $setup->startSetup(); /** * Create table 'catalog_product_entity_media_gallery_value_video' */ $table = $setup->getConnection()->newTable($setup->getTable(self::GALLERY_VALUE_VIDEO_TABLE))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Media Entity ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('provider', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => true, 'default' => null], 'Video provider ID')->addColumn('url', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => true, 'default' => null], 'Video URL')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true, 'default' => null], 'Title')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => true, 'default' => null], 'Page Meta Description')->addColumn('metadata', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => true, 'default' => null], 'Video meta data')->addIndex($setup->getIdxName(self::GALLERY_VALUE_VIDEO_TABLE, ['value_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['value_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName(self::GALLERY_VALUE_VIDEO_TABLE, 'value_id', Gallery::GALLERY_TABLE, 'value_id'), 'value_id', $setup->getTable(Gallery::GALLERY_TABLE), 'value_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName(self::GALLERY_VALUE_VIDEO_TABLE, 'store_id', $setup->getTable('store'), 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Catalog Product Video Table'); $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * Installs DB schema for the module * * @SuppressWarnings(PHPMD.UnusedFormalParameter) * * @param SchemaSetupInterface $setup The setup interface * @param ModuleContextInterface $context The module Context * * @return void */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); /** * Create table 'smile_virtualcategory_catalog_category_product_position' */ $tableName = 'smile_virtualcategory_catalog_category_product_position'; $table = $setup->getConnection()->newTable($setup->getTable($tableName))->addColumn('category_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true, 'default' => '0'], 'Category ID')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true, 'default' => '0'], 'Product ID')->addColumn('position', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($setup->getIdxName($tableName, ['product_id']), ['product_id'])->addForeignKey($setup->getFkName($tableName, 'category_id', 'catalog_category_entity', 'entity_id'), 'category_id', $setup->getTable('catalog_category_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($tableName, 'product_id', 'catalog_product_entity', 'entity_id'), 'product_id', $setup->getTable('catalog_product_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Catalog product position for the virtual categories module.'); $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * {@inheritdoc} */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $contextInterface) { $setup->startSetup(); $swatchTable = $setup->getTable('eav_attribute_option_swatch'); /** Creating the main_table 'eav_attribute_option_swatch' */ $table = $setup->getConnection()->newTable($swatchTable)->addColumn('swatch_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Swatch ID')->addColumn('option_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => false, 'unsigned' => true, 'nullable' => false, 'primary' => false], 'Option ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => false, 'unsigned' => true, 'nullable' => false, 'primary' => false], 'Store ID')->addColumn('type', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => false, 'unsigned' => true, 'nullable' => false, 'primary' => false], 'Swatch type: 0 - text, 1 - visual color, 2 - visual image')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['identity' => false, 'unsigned' => false, 'nullable' => true, 'primary' => false], 'Swatch Value')->addIndex($setup->getIdxName($swatchTable, ['swatch_id']), ['swatch_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX])->addIndex($setup->getIdxName($swatchTable, ['store_id', 'option_id'], true), ['store_id', 'option_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName($swatchTable, 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($swatchTable, 'option_id', 'eav_attribute_option', 'option_id'), 'option_id', $setup->getTable('eav_attribute_option'), 'option_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Magento Swatches table'); if (!$setup->getConnection()->tableColumnExists($setup->getTable('catalog_eav_attribute'), 'additional_data')) { $setup->getConnection()->addColumn($setup->getTable('catalog_eav_attribute'), 'additional_data', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'default' => null, 'nullable' => true, 'comment' => 'Additional swatch attributes data']); } $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * Add foreign keys to entity table * * @return void */ protected function addForeignKeys() { $foreignKeys = $this->setup->getConnection()->getForeignKeys( $this->setup->getTable($this->entityTable) ); $foreignKeys = array_filter( $foreignKeys, function ($key) { return $key['COLUMN_NAME'] == $this->entityColumn; } ); foreach ($foreignKeys as $foreignKeyInfo) { if (!count($this->getForeignKeys( $this->externalTable, $this->externalColumn, $this->setup->getTablePlaceholder($foreignKeyInfo['REF_TABLE_NAME']), $foreignKeyInfo['REF_COLUMN_NAME'] ))) { $this->setup->getConnection()->addForeignKey( $this->setup->getFkName( $this->externalTable, $this->externalColumn, $this->setup->getTablePlaceholder($foreignKeyInfo['REF_TABLE_NAME']), $foreignKeyInfo['REF_COLUMN_NAME'] ), $this->setup->getTable($this->externalTable), $this->externalColumn, $foreignKeyInfo['REF_TABLE_NAME'], $foreignKeyInfo['REF_COLUMN_NAME'], $this->onDelete ); } } }
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $employeeEntityTable = \Foggyline\Office\Model\Employee::ENTITY . '_entity'; $departmentEntityTable = 'foggyline_office_department'; $setup->getConnection()->addForeignKey($setup->getFkName($employeeEntityTable, 'department_id', $departmentEntityTable, 'entity_id'), $setup->getTable($employeeEntityTable), 'department_id', $setup->getTable($departmentEntityTable), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE); $setup->endSetup(); }
/** * Installs DB schema for a module * * @param SchemaSetupInterface $setup * @param ModuleContextInterface $context * @return void * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $connection = $setup->getConnection(); $setup->startSetup(); $table = $connection->newTable($setup->getTable('ui_bookmark'))->addColumn('bookmark_id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Bookmark identifier')->addColumn('user_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'User Id')->addColumn('namespace', Table::TYPE_TEXT, 255, ['nullable' => false], 'Bookmark namespace')->addColumn('identifier', Table::TYPE_TEXT, 255, ['nullable' => false], 'Bookmark Identifier')->addColumn('current', Table::TYPE_SMALLINT, 1, ['nullable' => false], 'Mark current bookmark per user and identifier')->addColumn('title', Table::TYPE_TEXT, 255, ['nullable' => true], 'Bookmark title')->addColumn('config', Table::TYPE_TEXT, Table::MAX_TEXT_SIZE, ['nullable' => true], 'Bookmark config')->addColumn('created_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Bookmark created at')->addColumn('updated_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Bookmark updated at')->addIndex($setup->getIdxName('ui_bookmark', ['user_id', 'namespace', 'identifier'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['user_id', 'namespace', 'identifier'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE)->addForeignKey($setup->getFkName('ui_bookmark', 'user_id', 'admin_user', 'user_id'), 'user_id', $setup->getTable('admin_user'), 'user_id', Table::ACTION_CASCADE)->setComment('Bookmark'); $connection->createTable($table); $setup->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); /** * Create table 'tax_class' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_class'))->addColumn('class_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Class Id')->addColumn('class_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Class Name')->addColumn('class_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 8, ['nullable' => false, 'default' => 'CUSTOMER'], 'Class Type')->setComment('Tax Class'); $setup->getConnection()->createTable($table); /** * Create table 'tax_calculation_rule' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_calculation_rule'))->addColumn('tax_calculation_rule_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Tax Calculation Rule Id')->addColumn('code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Code')->addColumn('priority', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Priority')->addColumn('position', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Position')->addColumn('calculate_subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Calculate off subtotal option')->addIndex($setup->getIdxName('tax_calculation_rule', ['priority', 'position']), ['priority', 'position'])->addIndex($setup->getIdxName('tax_calculation_rule', ['code']), ['code'])->setComment('Tax Calculation Rule'); $setup->getConnection()->createTable($table); /** * Create table 'tax_calculation_rate' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_calculation_rate'))->addColumn('tax_calculation_rate_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Tax Calculation Rate Id')->addColumn('tax_country_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 2, ['nullable' => false], 'Tax Country Id')->addColumn('tax_region_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Tax Region Id')->addColumn('tax_postcode', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 21, [], 'Tax Postcode')->addColumn('code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Code')->addColumn('rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Rate')->addColumn('zip_is_range', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, [], 'Zip Is Range')->addColumn('zip_from', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Zip From')->addColumn('zip_to', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Zip To')->addIndex($setup->getIdxName('tax_calculation_rate', ['tax_country_id', 'tax_region_id', 'tax_postcode']), ['tax_country_id', 'tax_region_id', 'tax_postcode'])->addIndex($setup->getIdxName('tax_calculation_rate', ['code']), ['code'])->addIndex($setup->getIdxName('tax_calculation_rate', ['tax_calculation_rate_id', 'tax_country_id', 'tax_region_id', 'zip_is_range', 'tax_postcode']), ['tax_calculation_rate_id', 'tax_country_id', 'tax_region_id', 'zip_is_range', 'tax_postcode'])->setComment('Tax Calculation Rate'); $setup->getConnection()->createTable($table); /** * Create table 'tax_calculation' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_calculation'))->addColumn('tax_calculation_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Tax Calculation Id')->addColumn('tax_calculation_rate_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Tax Calculation Rate Id')->addColumn('tax_calculation_rule_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Tax Calculation Rule Id')->addColumn('customer_tax_class_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false], 'Customer Tax Class Id')->addColumn('product_tax_class_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false], 'Product Tax Class Id')->addIndex($setup->getIdxName('tax_calculation', ['tax_calculation_rule_id']), ['tax_calculation_rule_id'])->addIndex($setup->getIdxName('tax_calculation', ['customer_tax_class_id']), ['customer_tax_class_id'])->addIndex($setup->getIdxName('tax_calculation', ['product_tax_class_id']), ['product_tax_class_id'])->addIndex($setup->getIdxName('tax_calculation', ['tax_calculation_rate_id', 'customer_tax_class_id', 'product_tax_class_id']), ['tax_calculation_rate_id', 'customer_tax_class_id', 'product_tax_class_id'])->addForeignKey($setup->getFkName('tax_calculation', 'product_tax_class_id', 'tax_class', 'class_id'), 'product_tax_class_id', $setup->getTable('tax_class'), 'class_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('tax_calculation', 'customer_tax_class_id', 'tax_class', 'class_id'), 'customer_tax_class_id', $setup->getTable('tax_class'), 'class_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('tax_calculation', 'tax_calculation_rate_id', 'tax_calculation_rate', 'tax_calculation_rate_id'), 'tax_calculation_rate_id', $setup->getTable('tax_calculation_rate'), 'tax_calculation_rate_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('tax_calculation', 'tax_calculation_rule_id', 'tax_calculation_rule', 'tax_calculation_rule_id'), 'tax_calculation_rule_id', $setup->getTable('tax_calculation_rule'), 'tax_calculation_rule_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Tax Calculation'); $setup->getConnection()->createTable($table); /** * Create table 'tax_calculation_rate_title' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_calculation_rate_title'))->addColumn('tax_calculation_rate_title_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Tax Calculation Rate Title Id')->addColumn('tax_calculation_rate_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Tax Calculation Rate Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Store Id')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Value')->addIndex($setup->getIdxName('tax_calculation_rate_title', ['tax_calculation_rate_id', 'store_id']), ['tax_calculation_rate_id', 'store_id'])->addIndex($setup->getIdxName('tax_calculation_rate_title', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName('tax_calculation_rate_title', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('tax_calculation_rate_title', 'tax_calculation_rate_id', 'tax_calculation_rate', 'tax_calculation_rate_id'), 'tax_calculation_rate_id', $setup->getTable('tax_calculation_rate'), 'tax_calculation_rate_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Tax Calculation Rate Title'); $setup->getConnection()->createTable($table); /** * Create table 'tax_order_aggregated_created' */ $table = $setup->getConnection()->newTable($setup->getTable('tax_order_aggregated_created'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, ['nullable' => true], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Code')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, ['nullable' => false], 'Order Status')->addColumn('percent', \Magento\Framework\DB\Ddl\Table::TYPE_FLOAT, null, [], 'Percent')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('tax_base_amount_sum', \Magento\Framework\DB\Ddl\Table::TYPE_FLOAT, null, [], 'Tax Base Amount Sum')->addIndex($setup->getIdxName('tax_order_aggregated_created', ['period', 'store_id', 'code', 'percent', 'order_status'], true), ['period', 'store_id', 'code', 'percent', 'order_status'], ['type' => 'unique'])->addIndex($setup->getIdxName('tax_order_aggregated_created', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName('tax_order_aggregated_created', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Tax Order Aggregation'); $setup->getConnection()->createTable($table); /** * Create table 'tax_order_aggregated_updated' */ $setup->getConnection()->createTable($setup->getConnection()->createTableByDdl($setup->getTable('tax_order_aggregated_created'), $setup->getTable('tax_order_aggregated_updated'))); /** * Create table 'sales_order_tax_item' */ $table = $setup->getConnection()->newTable($setup->getTable('sales_order_tax_item'))->addColumn('tax_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Tax Item Id')->addColumn('tax_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Tax Id')->addColumn('item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Item Id')->addColumn('tax_percent', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real Tax Percent For Item')->addColumn('amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Tax amount for the item and tax rate')->addColumn('base_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Base tax amount for the item and tax rate')->addColumn('real_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real tax amount for the item and tax rate')->addColumn('real_base_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real base tax amount for the item and tax rate')->addColumn('associated_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => true, 'unsigned' => true], 'Id of the associated item')->addColumn('taxable_item_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false], 'Type of the taxable item')->addIndex($setup->getIdxName('sales_order_tax_item', ['item_id']), ['item_id'])->addIndex($setup->getIdxName('sales_order_tax_item', ['tax_id', 'item_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['tax_id', 'item_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName('sales_order_tax_item', 'associated_item_id', 'sales_order_item', 'item_id'), 'associated_item_id', $setup->getTable('sales_order_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('sales_order_tax_item', 'tax_id', 'sales_order_tax', 'tax_id'), 'tax_id', $setup->getTable('sales_order_tax'), 'tax_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('sales_order_tax_item', 'item_id', 'sales_order_item', 'item_id'), 'item_id', $setup->getTable('sales_order_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Order Tax Item'); $setup->getConnection()->createTable($table); $setup->endSetup(); }
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); /** * Create table 'tudock_helloworld' */ $table = $setup->getConnection()->newTable($setup->getTable('tudock_helloworld'))->addColumn('id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0', 'primary' => true], 'ID of text')->addColumn('product', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Product ID')->addColumn('text', Table::TYPE_TEXT, 255, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Text')->setComment('HelloWorld demo table')->addIndex($setup->getIdxName('tudock_helloworld', 'id', \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), 'id', ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName('tudock_helloworld', 'product'), 'product')->addForeignKey($setup->getFkName('tudock_helloworld', 'product', 'catalog_product_entity', 'entity_id'), 'product', $setup->getTable('catalog_product_entity'), 'entity_id', Table::ACTION_CASCADE); $setup->getConnection()->createTable($table); $setup->endSetup(); }
/** * {@inheritdoc} */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $connection = $setup->getConnection(); /** * Create table 'vde_theme_change' */ $table = $connection->newTable($setup->getTable('vde_theme_change'))->addColumn('change_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Theme Change Identifier')->addColumn('theme_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'unsigned' => true], 'Theme Id')->addColumn('change_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false], 'Change Time')->addForeignKey($setup->getFkName('vde_theme_change', 'theme_id', 'theme', 'theme_id'), 'theme_id', $setup->getTable('theme'), 'theme_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Design Editor Theme Change'); $connection->createTable($table); $setup->endSetup(); }
/** * @param SchemaSetupInterface $setup */ public function updateSchemaVersion200(SchemaSetupInterface $setup) { /** * Create table 'adyen_order_payment' */ $table = $setup->getConnection()->newTable($setup->getTable(self::ADYEN_ORDER_PAYMENT))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Adyen Payment ID')->addColumn('pspreference', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['unsigned' => true, 'nullable' => false], 'Pspreference')->addColumn('merchant_reference', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['unsigned' => true, 'nullable' => false], 'Merchant Reference')->addColumn('payment_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 11, ['unsigned' => true, 'nullable' => false], 'Order Payment Id')->addColumn('payment_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['unsigned' => true, 'nullable' => true], 'Payment Method')->addColumn('amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['unsigned' => true, 'nullable' => false], 'Amount')->addColumn('total_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['unsigned' => true, 'nullable' => false], 'Total Refunded')->addColumn('created_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Created at')->addColumn('updated_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Updated at')->addIndex($setup->getIdxName(self::ADYEN_ORDER_PAYMENT, ['pspreference'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['pspreference'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName(self::ADYEN_ORDER_PAYMENT, 'payment_id', 'sales_order_payment', 'entity_id'), 'payment_id', $setup->getTable('sales_order_payment'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Adyen Order Payment'); $setup->getConnection()->createTable($table); // add originalReference to notification table $connection = $setup->getConnection(); $column = ['type' => Table::TYPE_TEXT, 'length' => 255, 'nullable' => true, 'comment' => 'Original Reference', 'after' => \Adyen\Payment\Model\Notification::PSPREFRENCE]; $connection->addColumn($setup->getTable('adyen_notification'), \Adyen\Payment\Model\Notification::ORIGINAL_REFERENCE, $column); }
/** * Create Relation between Thesaurus and expanded terms (which are also synonyms) link table * * @param \Magento\Framework\Setup\SchemaSetupInterface $setup Setup instance */ private function createExpandedTermsTable(SchemaSetupInterface $setup) { $table = $setup->getConnection()->newTable($setup->getTable(ThesaurusInterface::EXPANSION_TABLE_NAME))->addColumn(ThesaurusInterface::THESAURUS_ID, \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Thesaurus Id')->addColumn('term_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Reference Term Id')->addColumn('term', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false, 'primary' => true], 'Reference Term')->addIndex($setup->getIdxName(ThesaurusInterface::EXPANSION_TABLE_NAME, ['term_id']), ['term_id'])->addForeignKey($setup->getFkName(ThesaurusInterface::EXPANSION_TABLE_NAME, ThesaurusInterface::THESAURUS_ID, ThesaurusInterface::TABLE_NAME, ThesaurusInterface::THESAURUS_ID), ThesaurusInterface::THESAURUS_ID, $setup->getTable(ThesaurusInterface::TABLE_NAME), ThesaurusInterface::THESAURUS_ID, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Smile Elastic Suite Thesaurus Table for link between thesauri and expanded terms'); $setup->getConnection()->createTable($table); }
/** * @param SchemaSetupInterface $installer * @return void */ protected function installCategoryEntity(SchemaSetupInterface $installer) { $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity'))->addColumn('entity_id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity ID')->addColumn('parent_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], 'Parent Id')->addColumn('path', Table::TYPE_TEXT, 255, ['nullable' => false], 'Path')->addColumn('position', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], 'Position')->addColumn('level', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], 'Level')->addColumn('children_count', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => 0], 'Children count')->addColumn('created_at', Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => Table::TIMESTAMP_INIT_UPDATE], 'Updated At'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_datetime'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', Table::TYPE_DATETIME, null, [], 'Value')->addIndex($installer->getIdxName('mst_blog_category_entity_datetime', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_datetime', ['attribute_id']), ['attribute_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_datetime', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_datetime', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_datetime', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_datetime', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Datetime Attribute Backend Table'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_decimal'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', Table::TYPE_DECIMAL, '12,4', [], 'Value')->addIndex($installer->getIdxName('mst_blog_category_entity_decimal', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_decimal', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_decimal', ['attribute_id']), ['attribute_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_decimal', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_decimal', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_decimal', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Decimal Attribute Backend Table'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_int'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', Table::TYPE_INTEGER, null, [], 'Value')->addIndex($installer->getIdxName('mst_blog_category_entity_int', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_int', ['attribute_id']), ['attribute_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_int', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_int', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_int', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_int', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Integer Attribute Backend Table'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_text'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', Table::TYPE_TEXT, '64k', [], 'Value')->addIndex($installer->getIdxName('mst_blog_category_entity_text', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_text', ['attribute_id']), ['attribute_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_text', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_text', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_text', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_text', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Text Attribute Backend Table'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_varchar'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', Table::TYPE_TEXT, 255, [], 'Value')->addIndex($installer->getIdxName('catalog_product_entity_varchar', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_varchar', ['attribute_id']), ['attribute_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_varchar', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_varchar', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_varchar', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_varchar', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Varchar Attribute Backend Table'); $installer->getConnection()->createTable($table); $table = $installer->getConnection()->newTable($installer->getTable('mst_blog_category_entity_gallery'))->addColumn('value_id', Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addColumn('value', Table::TYPE_TEXT, 255, ['nullable' => true, 'default' => null], 'Value')->addIndex($installer->getIdxName('mst_blog_category_entity_gallery', ['entity_id', 'attribute_id', 'store_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('mst_blog_category_entity_gallery', ['entity_id']), ['entity_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_gallery', ['attribute_id']), ['attribute_id'])->addIndex($installer->getIdxName('mst_blog_category_entity_gallery', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('mst_blog_category_entity_gallery', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_gallery', 'entity_id', 'mst_blog_category_entity', 'entity_id'), 'entity_id', $installer->getTable('mst_blog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('mst_blog_category_entity_gallery', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Blog Category Gallery Attribute Backend Table'); $installer->getConnection()->createTable($table); }
/** * Installs DB schema for a module * * @param SchemaSetupInterface $setup * @param ModuleContextInterface $context * @return void */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $table = $setup->getConnection()->newTable($setup->getTable(self::TABLE_NAME))->addColumn('comment_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Comment id')->addColumn('quote_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Reference to quote item if applicable')->addColumn('order_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Reference to order item if applicable')->addColumn('text', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Comment text')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->setComment('Adminnotification Inbox')->addForeignKey($setup->getFkName(self::TABLE_NAME, 'quote_item_id', 'quote_item', 'item_id'), 'quote_item_id', $setup->getTable('quote_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName(self::TABLE_NAME, 'order_item_id', 'sales_order_item', 'item_id'), 'order_item_id', $setup->getTable('sales_order_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE); $setup->getConnection()->createTable($table); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /** * Create table 'sales_order' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'State')->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Status')->addColumn('coupon_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Coupon Code')->addColumn('protect_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Protect Code')->addColumn('shipping_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Description')->addColumn('is_virtual', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Is Virtual')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Customer Id')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Amount')->addColumn('base_discount_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Canceled')->addColumn('base_discount_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Invoiced')->addColumn('base_discount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Refunded')->addColumn('base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Grand Total')->addColumn('base_shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Amount')->addColumn('base_shipping_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Canceled')->addColumn('base_shipping_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Invoiced')->addColumn('base_shipping_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Refunded')->addColumn('base_shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Tax Amount')->addColumn('base_shipping_tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Tax Refunded')->addColumn('base_subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal')->addColumn('base_subtotal_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Canceled')->addColumn('base_subtotal_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Invoiced')->addColumn('base_subtotal_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Refunded')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Amount')->addColumn('base_tax_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Canceled')->addColumn('base_tax_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Invoiced')->addColumn('base_tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Refunded')->addColumn('base_to_global_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Global Rate')->addColumn('base_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Order Rate')->addColumn('base_total_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Canceled')->addColumn('base_total_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Invoiced')->addColumn('base_total_invoiced_cost', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Invoiced Cost')->addColumn('base_total_offline_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Offline Refunded')->addColumn('base_total_online_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Online Refunded')->addColumn('base_total_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Paid')->addColumn('base_total_qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Qty Ordered')->addColumn('base_total_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Refunded')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Amount')->addColumn('discount_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Canceled')->addColumn('discount_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Invoiced')->addColumn('discount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Refunded')->addColumn('grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Grand Total')->addColumn('shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Amount')->addColumn('shipping_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Canceled')->addColumn('shipping_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Invoiced')->addColumn('shipping_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Refunded')->addColumn('shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Tax Amount')->addColumn('shipping_tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Tax Refunded')->addColumn('store_to_base_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Base Rate')->addColumn('store_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Order Rate')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('subtotal_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Canceled')->addColumn('subtotal_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Invoiced')->addColumn('subtotal_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Refunded')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Amount')->addColumn('tax_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Canceled')->addColumn('tax_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Invoiced')->addColumn('tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Refunded')->addColumn('total_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Canceled')->addColumn('total_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Invoiced')->addColumn('total_offline_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Offline Refunded')->addColumn('total_online_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Online Refunded')->addColumn('total_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Paid')->addColumn('total_qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Qty Ordered')->addColumn('total_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Refunded')->addColumn('can_ship_partially', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Can Ship Partially')->addColumn('can_ship_partially_item', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Can Ship Partially Item')->addColumn('customer_is_guest', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Customer Is Guest')->addColumn('customer_note_notify', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Customer Note Notify')->addColumn('billing_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Billing Address Id')->addColumn('customer_group_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, [], 'Customer Group Id')->addColumn('edit_increment', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Edit Increment')->addColumn('email_sent', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Email Sent')->addColumn('send_email', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Send Email')->addColumn('forced_shipment_with_invoice', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Forced Do Shipment With Invoice')->addColumn('payment_auth_expiration', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Payment Authorization Expiration')->addColumn('quote_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Quote Address Id')->addColumn('quote_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Quote Id')->addColumn('shipping_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipping Address Id')->addColumn('adjustment_negative', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Negative')->addColumn('adjustment_positive', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Positive')->addColumn('base_adjustment_negative', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Adjustment Negative')->addColumn('base_adjustment_positive', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Adjustment Positive')->addColumn('base_shipping_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Discount Amount')->addColumn('base_subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Incl Tax')->addColumn('base_total_due', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Due')->addColumn('payment_authorization_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Payment Authorization Amount')->addColumn('shipping_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Discount Amount')->addColumn('subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Incl Tax')->addColumn('total_due', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Due')->addColumn('weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Weight')->addColumn('customer_dob', \Magento\Framework\DB\Ddl\Table::TYPE_DATETIME, null, [], 'Customer Dob')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Increment Id')->addColumn('applied_rule_ids', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Applied Rule Ids')->addColumn('base_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Base Currency Code')->addColumn('customer_email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Email')->addColumn('customer_firstname', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Firstname')->addColumn('customer_lastname', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Lastname')->addColumn('customer_middlename', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Middlename')->addColumn('customer_prefix', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Customer Prefix')->addColumn('customer_suffix', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Customer Suffix')->addColumn('customer_taxvat', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Customer Taxvat')->addColumn('discount_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Discount Description')->addColumn('ext_customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Ext Customer Id')->addColumn('ext_order_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Ext Order Id')->addColumn('global_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Global Currency Code')->addColumn('hold_before_state', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Hold Before State')->addColumn('hold_before_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Hold Before Status')->addColumn('order_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Order Currency Code')->addColumn('original_increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Original Increment Id')->addColumn('relation_child_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Relation Child Id')->addColumn('relation_child_real_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Relation Child Real Id')->addColumn('relation_parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Relation Parent Id')->addColumn('relation_parent_real_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Relation Parent Real Id')->addColumn('remote_ip', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Remote Ip')->addColumn('shipping_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Shipping Method')->addColumn('store_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Store Currency Code')->addColumn('store_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Store Name')->addColumn('x_forwarded_for', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'X Forwarded For')->addColumn('customer_note', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Customer Note')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addColumn('total_item_count', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Total Item Count')->addColumn('customer_gender', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Customer Gender')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('shipping_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Discount Tax Compensation Amount')->addColumn('base_shipping_discount_tax_compensation_amnt', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Discount Tax Compensation Amount')->addColumn('discount_tax_compensation_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Invoiced')->addColumn('base_discount_tax_compensation_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Invoiced')->addColumn('discount_tax_compensation_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Refunded')->addColumn('base_discount_tax_compensation_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Refunded')->addColumn('shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Incl Tax')->addColumn('base_shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Incl Tax')->addColumn('coupon_rule_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Coupon Sales Rule Name')->addIndex($installer->getIdxName('sales_order', ['status']), ['status'])->addIndex($installer->getIdxName('sales_order', ['state']), ['state'])->addIndex($installer->getIdxName('sales_order', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_order', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_order', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_order', ['customer_id']), ['customer_id'])->addIndex($installer->getIdxName('sales_order', ['ext_order_id']), ['ext_order_id'])->addIndex($installer->getIdxName('sales_order', ['quote_id']), ['quote_id'])->addIndex($installer->getIdxName('sales_order', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_order', ['send_email']), ['send_email'])->addIndex($installer->getIdxName('sales_order', ['email_sent']), ['email_sent'])->addForeignKey($installer->getFkName('sales_order', 'customer_id', 'customer_entity', 'entity_id'), 'customer_id', $installer->getTable('customer_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->addForeignKey($installer->getFkName('sales_order', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Flat Order'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_grid' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_grid'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Status')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('store_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Store Name')->addColumn('customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Customer Id')->addColumn('base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Grand Total')->addColumn('base_total_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Paid')->addColumn('grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Grand Total')->addColumn('total_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Paid')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('base_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Base Currency Code')->addColumn('order_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Order Currency Code')->addColumn('shipping_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Name')->addColumn('billing_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Name')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Updated At')->addColumn('billing_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Address')->addColumn('shipping_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Address')->addColumn('shipping_information', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Method Name')->addColumn('customer_email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Customer Email')->addColumn('customer_group', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Customer Group')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('shipping_and_handling', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping and handling amount')->addColumn('customer_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Customer Name')->addColumn('payment_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Payment Method')->addColumn('total_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Refunded')->addIndex($installer->getIdxName('sales_order_grid', ['status']), ['status'])->addIndex($installer->getIdxName('sales_order_grid', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_order_grid', ['base_grand_total']), ['base_grand_total'])->addIndex($installer->getIdxName('sales_order_grid', ['base_total_paid']), ['base_total_paid'])->addIndex($installer->getIdxName('sales_order_grid', ['grand_total']), ['grand_total'])->addIndex($installer->getIdxName('sales_order_grid', ['total_paid']), ['total_paid'])->addIndex($installer->getIdxName('sales_order_grid', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_order_grid', ['shipping_name']), ['shipping_name'])->addIndex($installer->getIdxName('sales_order_grid', ['billing_name']), ['billing_name'])->addIndex($installer->getIdxName('sales_order_grid', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_order_grid', ['customer_id']), ['customer_id'])->addIndex($installer->getIdxName('sales_order_grid', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_order_grid', ['increment_id', 'billing_name', 'shipping_name', 'shipping_address', 'billing_address', 'customer_name', 'customer_email'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT), ['increment_id', 'billing_name', 'shipping_name', 'shipping_address', 'billing_address', 'customer_name', 'customer_email'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Sales Flat Order Grid'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_address' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_address'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Parent Id')->addColumn('customer_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Customer Address Id')->addColumn('quote_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Quote Address Id')->addColumn('region_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Region Id')->addColumn('customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Customer Id')->addColumn('fax', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Fax')->addColumn('region', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Region')->addColumn('postcode', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Postcode')->addColumn('lastname', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Lastname')->addColumn('street', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Street')->addColumn('city', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'City')->addColumn('email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Email')->addColumn('telephone', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Phone Number')->addColumn('country_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 2, [], 'Country Id')->addColumn('firstname', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Firstname')->addColumn('address_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Address Type')->addColumn('prefix', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Prefix')->addColumn('middlename', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Middlename')->addColumn('suffix', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Suffix')->addColumn('company', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Company')->addIndex($installer->getIdxName('sales_order_address', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_order_address', 'parent_id', 'sales_order', 'entity_id'), 'parent_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Order Address'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_status_history' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_status_history'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('is_customer_notified', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Is Customer Notified')->addColumn('is_visible_on_front', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Visible On Front')->addColumn('comment', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Comment')->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Status')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('entity_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => true], 'Shows what entity history is bind to.')->addIndex($installer->getIdxName('sales_order_status_history', ['parent_id']), ['parent_id'])->addIndex($installer->getIdxName('sales_order_status_history', ['created_at']), ['created_at'])->addForeignKey($installer->getFkName('sales_order_status_history', 'parent_id', 'sales_order', 'entity_id'), 'parent_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Order Status History'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_item' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_item'))->addColumn('item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Item Id')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Order Id')->addColumn('parent_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Parent Item Id')->addColumn('quote_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Quote Item Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Product Id')->addColumn('product_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Product Type')->addColumn('product_options', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Product Options')->addColumn('weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Weight')->addColumn('is_virtual', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Is Virtual')->addColumn('sku', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Sku')->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Name')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Description')->addColumn('applied_rule_ids', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Applied Rule Ids')->addColumn('additional_data', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Data')->addColumn('is_qty_decimal', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Is Qty Decimal')->addColumn('no_discount', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'No Discount')->addColumn('qty_backordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Backordered')->addColumn('qty_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Canceled')->addColumn('qty_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Invoiced')->addColumn('qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Ordered')->addColumn('qty_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Refunded')->addColumn('qty_shipped', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Qty Shipped')->addColumn('base_cost', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Cost')->addColumn('price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Price')->addColumn('base_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Base Price')->addColumn('original_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Original Price')->addColumn('base_original_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Original Price')->addColumn('tax_percent', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Tax Percent')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Tax Amount')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Tax Amount')->addColumn('tax_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Tax Invoiced')->addColumn('base_tax_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Tax Invoiced')->addColumn('discount_percent', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Discount Percent')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Discount Amount')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Discount Amount')->addColumn('discount_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Discount Invoiced')->addColumn('base_discount_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Discount Invoiced')->addColumn('amount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Amount Refunded')->addColumn('base_amount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Base Amount Refunded')->addColumn('row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Row Total')->addColumn('base_row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Base Row Total')->addColumn('row_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Row Invoiced')->addColumn('base_row_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Base Row Invoiced')->addColumn('row_weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['default' => '0.0000'], 'Row Weight')->addColumn('base_tax_before_discount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Before Discount')->addColumn('tax_before_discount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Before Discount')->addColumn('ext_order_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Ext Order Item Id')->addColumn('locked_do_invoice', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Locked Do Invoice')->addColumn('locked_do_ship', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Locked Do Ship')->addColumn('price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price Incl Tax')->addColumn('base_price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Price Incl Tax')->addColumn('row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total Incl Tax')->addColumn('base_row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Row Total Incl Tax')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('discount_tax_compensation_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Invoiced')->addColumn('base_discount_tax_compensation_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Invoiced')->addColumn('discount_tax_compensation_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Refunded')->addColumn('base_discount_tax_compensation_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Refunded')->addColumn('tax_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Canceled')->addColumn('discount_tax_compensation_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Canceled')->addColumn('tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Refunded')->addColumn('base_tax_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Refunded')->addColumn('discount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Refunded')->addColumn('base_discount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Refunded')->addIndex($installer->getIdxName('sales_order_item', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_order_item', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_order_item', 'order_id', 'sales_order', 'entity_id'), 'order_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_order_item', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Flat Order Item'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_payment' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_payment'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('base_shipping_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Captured')->addColumn('shipping_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Captured')->addColumn('amount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount Refunded')->addColumn('base_amount_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Paid')->addColumn('amount_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount Canceled')->addColumn('base_amount_authorized', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Authorized')->addColumn('base_amount_paid_online', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Paid Online')->addColumn('base_amount_refunded_online', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Refunded Online')->addColumn('base_shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Amount')->addColumn('shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Amount')->addColumn('amount_paid', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount Paid')->addColumn('amount_authorized', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount Authorized')->addColumn('base_amount_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Ordered')->addColumn('base_shipping_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Refunded')->addColumn('shipping_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Refunded')->addColumn('base_amount_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Refunded')->addColumn('amount_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount Ordered')->addColumn('base_amount_canceled', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount Canceled')->addColumn('quote_payment_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Quote Payment Id')->addColumn('additional_data', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Data')->addColumn('cc_exp_month', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 12, [], 'Cc Exp Month')->addColumn('cc_ss_start_year', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 12, [], 'Cc Ss Start Year')->addColumn('echeck_bank_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Echeck Bank Name')->addColumn('method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Method')->addColumn('cc_debug_request_body', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Debug Request Body')->addColumn('cc_secure_verify', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Secure Verify')->addColumn('protection_eligibility', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Protection Eligibility')->addColumn('cc_approval', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Approval')->addColumn('cc_last_4', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, [], 'Cc Last 4')->addColumn('cc_status_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Status Description')->addColumn('echeck_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Echeck Type')->addColumn('cc_debug_response_serialized', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Debug Response Serialized')->addColumn('cc_ss_start_month', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Cc Ss Start Month')->addColumn('echeck_account_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Echeck Account Type')->addColumn('last_trans_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Last Trans Id')->addColumn('cc_cid_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Cid Status')->addColumn('cc_owner', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Cc Owner')->addColumn('cc_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Type')->addColumn('po_number', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Po Number')->addColumn('cc_exp_year', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 4, ['nullable' => true, 'default' => null], 'Cc Exp Year')->addColumn('cc_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 4, [], 'Cc Status')->addColumn('echeck_routing_number', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Echeck Routing Number')->addColumn('account_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Account Status')->addColumn('anet_trans_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Anet Trans Method')->addColumn('cc_debug_response_body', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Debug Response Body')->addColumn('cc_ss_issue', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Ss Issue')->addColumn('echeck_account_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Echeck Account Name')->addColumn('cc_avs_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Avs Status')->addColumn('cc_number_enc', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Number Enc')->addColumn('cc_trans_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Cc Trans Id')->addColumn('address_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Address Status')->addColumn('additional_information', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Information')->addIndex($installer->getIdxName('sales_order_payment', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_order_payment', 'parent_id', 'sales_order', 'entity_id'), 'parent_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Order Payment'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipment' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipment'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('total_weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Weight')->addColumn('total_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Qty')->addColumn('email_sent', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Email Sent')->addColumn('send_email', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Send Email')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Customer Id')->addColumn('shipping_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipping Address Id')->addColumn('billing_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Billing Address Id')->addColumn('shipment_status', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipment Status')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addColumn('packages', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '20000', [], 'Packed Products in Packages')->addColumn('shipping_label', \Magento\Framework\DB\Ddl\Table::TYPE_VARBINARY, '2m', [], 'Shipping Label Content')->addColumn('customer_note', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, [], 'Customer Note')->addColumn('customer_note_notify', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Customer Note Notify')->addIndex($installer->getIdxName('sales_shipment', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_shipment', ['total_qty']), ['total_qty'])->addIndex($installer->getIdxName('sales_shipment', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_shipment', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_shipment', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_shipment', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_shipment', ['send_email']), ['send_email'])->addIndex($installer->getIdxName('sales_shipment', ['email_sent']), ['email_sent'])->addForeignKey($installer->getFkName('sales_shipment', 'order_id', 'sales_order', 'entity_id'), 'order_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_shipment', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Flat Shipment'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipment_grid' * * @add order_id, shipping_description */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipment_grid'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false], 'Order Increment Id')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('order_created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false], 'Order Increment Id')->addColumn('customer_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, ['nullable' => false], 'Customer Name')->addColumn('total_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Qty')->addColumn('shipment_status', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipment Status')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Order')->addColumn('billing_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Address')->addColumn('shipping_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Address')->addColumn('billing_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Billing Name')->addColumn('shipping_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Shipping Name')->addColumn('customer_email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Email')->addColumn('customer_group_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, [], 'Customer Group Id')->addColumn('payment_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Payment Method')->addColumn('shipping_information', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Method Name')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Updated At')->addIndex($installer->getIdxName('sales_shipment_grid', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_shipment_grid', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_shipment_grid', ['total_qty']), ['total_qty'])->addIndex($installer->getIdxName('sales_shipment_grid', ['order_increment_id']), ['order_increment_id'])->addIndex($installer->getIdxName('sales_shipment_grid', ['shipment_status']), ['shipment_status'])->addIndex($installer->getIdxName('sales_shipment_grid', ['order_status']), ['order_status'])->addIndex($installer->getIdxName('sales_shipment_grid', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_shipment_grid', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_shipment_grid', ['order_created_at']), ['order_created_at'])->addIndex($installer->getIdxName('sales_shipment_grid', ['shipping_name']), ['shipping_name'])->addIndex($installer->getIdxName('sales_shipment_grid', ['billing_name']), ['billing_name'])->addIndex($installer->getIdxName('sales_shipment_grid', ['increment_id', 'order_increment_id', 'shipping_name', 'customer_name', 'customer_email', 'billing_address', 'shipping_address'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT), ['increment_id', 'order_increment_id', 'shipping_name', 'customer_name', 'customer_email', 'billing_address', 'shipping_address'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Sales Flat Shipment Grid'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipment_item' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipment_item'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total')->addColumn('price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price')->addColumn('weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Weight')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Qty')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Product Id')->addColumn('order_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Order Item Id')->addColumn('additional_data', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Data')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Description')->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Name')->addColumn('sku', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Sku')->addIndex($installer->getIdxName('sales_shipment_item', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_shipment_item', 'parent_id', 'sales_shipment', 'entity_id'), 'parent_id', $installer->getTable('sales_shipment'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Shipment Item'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipment_track' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipment_track'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('weight', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Weight')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Qty')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('track_number', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Number')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Description')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Title')->addColumn('carrier_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Carrier Code')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addIndex($installer->getIdxName('sales_shipment_track', ['parent_id']), ['parent_id'])->addIndex($installer->getIdxName('sales_shipment_track', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_shipment_track', ['created_at']), ['created_at'])->addForeignKey($installer->getFkName('sales_shipment_track', 'parent_id', 'sales_shipment', 'entity_id'), 'parent_id', $installer->getTable('sales_shipment'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Shipment Track'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipment_comment' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipment_comment'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('is_customer_notified', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Is Customer Notified')->addColumn('is_visible_on_front', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Visible On Front')->addColumn('comment', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Comment')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addIndex($installer->getIdxName('sales_shipment_comment', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_shipment_comment', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_shipment_comment', 'parent_id', 'sales_shipment', 'entity_id'), 'parent_id', $installer->getTable('sales_shipment'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Shipment Comment'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoice' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoice'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true, 'identity' => true], 'Entity Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Grand Total')->addColumn('shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Tax Amount')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Amount')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Amount')->addColumn('store_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Order Rate')->addColumn('base_shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Tax Amount')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Amount')->addColumn('base_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Order Rate')->addColumn('grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Grand Total')->addColumn('shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Amount')->addColumn('subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Incl Tax')->addColumn('base_subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Incl Tax')->addColumn('store_to_base_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Base Rate')->addColumn('base_shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Amount')->addColumn('total_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Qty')->addColumn('base_to_global_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Global Rate')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('base_subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Amount')->addColumn('billing_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Billing Address Id')->addColumn('is_used_for_refund', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Is Used For Refund')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('email_sent', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Email Sent')->addColumn('send_email', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Send Email')->addColumn('can_void_flag', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Can Void Flag')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'State')->addColumn('shipping_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipping Address Id')->addColumn('store_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Store Currency Code')->addColumn('transaction_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Transaction Id')->addColumn('order_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Order Currency Code')->addColumn('base_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Base Currency Code')->addColumn('global_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Global Currency Code')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('shipping_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Discount Tax Compensation Amount')->addColumn('base_shipping_discount_tax_compensation_amnt', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Discount Tax Compensation Amount')->addColumn('shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Incl Tax')->addColumn('base_shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Incl Tax')->addColumn('base_total_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Total Refunded')->addColumn('discount_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Discount Description')->addColumn('customer_note', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, [], 'Customer Note')->addColumn('customer_note_notify', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Customer Note Notify')->addIndex($installer->getIdxName('sales_invoice', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_invoice', ['grand_total']), ['grand_total'])->addIndex($installer->getIdxName('sales_invoice', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_invoice', ['state']), ['state'])->addIndex($installer->getIdxName('sales_invoice', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_invoice', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_invoice', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_invoice', ['send_email']), ['send_email'])->addIndex($installer->getIdxName('sales_invoice', ['email_sent']), ['email_sent'])->addForeignKey($installer->getFkName('sales_invoice', 'order_id', 'sales_order', 'entity_id'), 'order_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_invoice', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Flat Invoice'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoice_grid' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoice_grid'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'State')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('store_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Store Name')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('order_increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Increment Id')->addColumn('order_created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Order Created At')->addColumn('customer_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Customer Name')->addColumn('customer_email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Customer Email')->addColumn('customer_group_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, [], 'Customer Group Id')->addColumn('payment_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Payment Method')->addColumn('store_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Store Currency Code')->addColumn('order_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Order Currency Code')->addColumn('base_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Base Currency Code')->addColumn('global_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Global Currency Code')->addColumn('billing_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Name')->addColumn('billing_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Address')->addColumn('shipping_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Address')->addColumn('shipping_information', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Method Name')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('shipping_and_handling', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping and handling amount')->addColumn('grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Grand Total')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Updated At')->addIndex($installer->getIdxName('sales_invoice_grid', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_invoice_grid', ['grand_total']), ['grand_total'])->addIndex($installer->getIdxName('sales_invoice_grid', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_invoice_grid', ['state']), ['state'])->addIndex($installer->getIdxName('sales_invoice_grid', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_invoice_grid', ['order_increment_id']), ['order_increment_id'])->addIndex($installer->getIdxName('sales_invoice_grid', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_invoice_grid', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_invoice_grid', ['order_created_at']), ['order_created_at'])->addIndex($installer->getIdxName('sales_invoice_grid', ['billing_name']), ['billing_name'])->addIndex($installer->getIdxName('sales_invoice_grid', ['increment_id', 'order_increment_id', 'billing_name', 'billing_address', 'shipping_address', 'customer_name', 'customer_email'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT), ['increment_id', 'order_increment_id', 'billing_name', 'billing_address', 'shipping_address', 'customer_name', 'customer_email'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Sales Flat Invoice Grid'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoice_item' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoice_item'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('base_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Price')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Amount')->addColumn('base_row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Row Total')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Amount')->addColumn('row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Amount')->addColumn('price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price Incl Tax')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Amount')->addColumn('base_price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Price Incl Tax')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Qty')->addColumn('base_cost', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Cost')->addColumn('price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price')->addColumn('base_row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Row Total Incl Tax')->addColumn('row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total Incl Tax')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Product Id')->addColumn('order_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Order Item Id')->addColumn('additional_data', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Data')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Description')->addColumn('sku', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Sku')->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Name')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('tax_ratio', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 512, [], 'Ratio of tax invoiced over tax of the order item')->addIndex($installer->getIdxName('sales_invoice_item', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_invoice_item', 'parent_id', 'sales_invoice', 'entity_id'), 'parent_id', $installer->getTable('sales_invoice'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Invoice Item'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoice_comment' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoice_comment'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('is_customer_notified', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Is Customer Notified')->addColumn('is_visible_on_front', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Visible On Front')->addColumn('comment', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Comment')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addIndex($installer->getIdxName('sales_invoice_comment', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_invoice_comment', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_invoice_comment', 'parent_id', 'sales_invoice', 'entity_id'), 'parent_id', $installer->getTable('sales_invoice'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Invoice Comment'); $installer->getConnection()->createTable($table); /** * Create table 'sales_creditmemo' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_creditmemo'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('adjustment_positive', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Positive')->addColumn('base_shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Tax Amount')->addColumn('store_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Order Rate')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Amount')->addColumn('base_to_order_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Order Rate')->addColumn('grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Grand Total')->addColumn('base_adjustment_negative', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Adjustment Negative')->addColumn('base_subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal Incl Tax')->addColumn('shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Amount')->addColumn('subtotal_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal Incl Tax')->addColumn('adjustment_negative', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Negative')->addColumn('base_shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Amount')->addColumn('store_to_base_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Store To Base Rate')->addColumn('base_to_global_rate', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base To Global Rate')->addColumn('base_adjustment', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Adjustment')->addColumn('base_subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Subtotal')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Amount')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('adjustment', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment')->addColumn('base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Grand Total')->addColumn('base_adjustment_positive', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Adjustment Positive')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Amount')->addColumn('shipping_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Tax Amount')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Amount')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('email_sent', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Email Sent')->addColumn('send_email', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Send Email')->addColumn('creditmemo_status', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Creditmemo Status')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'State')->addColumn('shipping_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Shipping Address Id')->addColumn('billing_address_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Billing Address Id')->addColumn('invoice_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Invoice Id')->addColumn('store_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Store Currency Code')->addColumn('order_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Order Currency Code')->addColumn('base_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Base Currency Code')->addColumn('global_currency_code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 3, [], 'Global Currency Code')->addColumn('transaction_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Transaction Id')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Updated At')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('shipping_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Discount Tax Compensation Amount')->addColumn('base_shipping_discount_tax_compensation_amnt', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Discount Tax Compensation Amount')->addColumn('shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping Incl Tax')->addColumn('base_shipping_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Shipping Incl Tax')->addColumn('discount_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Discount Description')->addColumn('customer_note', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, [], 'Customer Note')->addColumn('customer_note_notify', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Customer Note Notify')->addIndex($installer->getIdxName('sales_creditmemo', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_creditmemo', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_creditmemo', ['creditmemo_status']), ['creditmemo_status'])->addIndex($installer->getIdxName('sales_creditmemo', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_creditmemo', ['state']), ['state'])->addIndex($installer->getIdxName('sales_creditmemo', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_creditmemo', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_creditmemo', ['send_email']), ['send_email'])->addIndex($installer->getIdxName('sales_creditmemo', ['email_sent']), ['email_sent'])->addForeignKey($installer->getFkName('sales_creditmemo', 'order_id', 'sales_order', 'entity_id'), 'order_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_creditmemo', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Flat Creditmemo'); $installer->getConnection()->createTable($table); /** * Create table 'sales_creditmemo_grid' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_creditmemo_grid'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Increment Id')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Created At')->addColumn('updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Updated At')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('order_increment_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Increment Id')->addColumn('order_created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Order Created At')->addColumn('billing_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Name')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Status')->addColumn('base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Grand Total')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Order Status')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('billing_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Billing Address')->addColumn('shipping_address', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Address')->addColumn('customer_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, ['nullable' => false], 'Customer Name')->addColumn('customer_email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, [], 'Customer Email')->addColumn('customer_group_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, [], 'Customer Group Id')->addColumn('payment_method', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, [], 'Payment Method')->addColumn('shipping_information', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Method Name')->addColumn('subtotal', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Subtotal')->addColumn('shipping_and_handling', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Shipping and handling amount')->addColumn('adjustment_positive', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Positive')->addColumn('adjustment_negative', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Adjustment Negative')->addColumn('order_base_grand_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Order Grand Total')->addIndex($installer->getIdxName('sales_creditmemo_grid', ['increment_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['increment_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['order_increment_id']), ['order_increment_id'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['updated_at']), ['updated_at'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['order_created_at']), ['order_created_at'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['state']), ['state'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['billing_name']), ['billing_name'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['order_status']), ['order_status'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['base_grand_total']), ['base_grand_total'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['order_base_grand_total']), ['order_base_grand_total'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['order_id']), ['order_id'])->addIndex($installer->getIdxName('sales_creditmemo_grid', ['increment_id', 'order_increment_id', 'billing_name', 'billing_address', 'shipping_address', 'customer_name', 'customer_email'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT), ['increment_id', 'order_increment_id', 'billing_name', 'billing_address', 'shipping_address', 'customer_name', 'customer_email'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Sales Flat Creditmemo Grid'); $installer->getConnection()->createTable($table); /** * Create table 'sales_creditmemo_item' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_creditmemo_item'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('base_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Price')->addColumn('tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Tax Amount')->addColumn('base_row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Row Total')->addColumn('discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Amount')->addColumn('row_total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total')->addColumn('base_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Amount')->addColumn('price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price Incl Tax')->addColumn('base_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Tax Amount')->addColumn('base_price_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Price Incl Tax')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Qty')->addColumn('base_cost', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Cost')->addColumn('price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Price')->addColumn('base_row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Row Total Incl Tax')->addColumn('row_total_incl_tax', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Row Total Incl Tax')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Product Id')->addColumn('order_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Order Item Id')->addColumn('additional_data', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Additional Data')->addColumn('description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Description')->addColumn('sku', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Sku')->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Name')->addColumn('discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Discount Tax Compensation Amount')->addColumn('base_discount_tax_compensation_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Discount Tax Compensation Amount')->addColumn('tax_ratio', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 512, [], 'Ratio of tax in the creditmemo item over tax of the order item')->addIndex($installer->getIdxName('sales_creditmemo_item', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_creditmemo_item', 'parent_id', 'sales_creditmemo', 'entity_id'), 'parent_id', $installer->getTable('sales_creditmemo'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Creditmemo Item'); $installer->getConnection()->createTable($table); /** * Create table 'sales_creditmemo_comment' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_creditmemo_comment'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Parent Id')->addColumn('is_customer_notified', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Is Customer Notified')->addColumn('is_visible_on_front', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Visible On Front')->addColumn('comment', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Comment')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addIndex($installer->getIdxName('sales_creditmemo_comment', ['created_at']), ['created_at'])->addIndex($installer->getIdxName('sales_creditmemo_comment', ['parent_id']), ['parent_id'])->addForeignKey($installer->getFkName('sales_creditmemo_comment', 'parent_id', 'sales_creditmemo', 'entity_id'), 'parent_id', $installer->getTable('sales_creditmemo'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Flat Creditmemo Comment'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoiced_aggregated' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoiced_aggregated'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Status')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('orders_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Orders Invoiced')->addColumn('invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced')->addColumn('invoiced_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced Captured')->addColumn('invoiced_not_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced Not Captured')->addIndex($installer->getIdxName('sales_invoiced_aggregated', ['period', 'store_id', 'order_status'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_invoiced_aggregated', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_invoiced_aggregated', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Invoiced Aggregated'); $installer->getConnection()->createTable($table); /** * Create table 'sales_invoiced_aggregated_order' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_invoiced_aggregated_order'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, ['nullable' => false, 'default' => false], 'Order Status')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('orders_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Orders Invoiced')->addColumn('invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced')->addColumn('invoiced_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced Captured')->addColumn('invoiced_not_captured', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Invoiced Not Captured')->addIndex($installer->getIdxName('sales_invoiced_aggregated_order', ['period', 'store_id', 'order_status'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_invoiced_aggregated_order', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_invoiced_aggregated_order', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Invoiced Aggregated Order'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_aggregated_created' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_aggregated_created'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, ['nullable' => false, 'default' => false], 'Order Status')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('total_qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Qty Ordered')->addColumn('total_qty_invoiced', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Qty Invoiced')->addColumn('total_income_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Income Amount')->addColumn('total_revenue_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Revenue Amount')->addColumn('total_profit_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Profit Amount')->addColumn('total_invoiced_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Invoiced Amount')->addColumn('total_canceled_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Canceled Amount')->addColumn('total_paid_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Paid Amount')->addColumn('total_refunded_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Refunded Amount')->addColumn('total_tax_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Tax Amount')->addColumn('total_tax_amount_actual', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Tax Amount Actual')->addColumn('total_shipping_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Shipping Amount')->addColumn('total_shipping_amount_actual', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Shipping Amount Actual')->addColumn('total_discount_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Discount Amount')->addColumn('total_discount_amount_actual', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Total Discount Amount Actual')->addIndex($installer->getIdxName('sales_order_aggregated_created', ['period', 'store_id', 'order_status'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_order_aggregated_created', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_order_aggregated_created', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Order Aggregated Created'); $installer->getConnection()->createTable($table); $installer->getConnection()->createTable($installer->getConnection()->createTableByDdl($installer->getTable('sales_order_aggregated_created'), $installer->getTable('sales_order_aggregated_updated'))); /** * Create table 'sales_payment_transaction' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_payment_transaction'))->addColumn('transaction_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Transaction Id')->addColumn('parent_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Parent Id')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Order Id')->addColumn('payment_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Payment Id')->addColumn('txn_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, [], 'Txn Id')->addColumn('parent_txn_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, [], 'Parent Txn Id')->addColumn('txn_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 15, [], 'Txn Type')->addColumn('is_closed', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Is Closed')->addColumn('additional_information', \Magento\Framework\DB\Ddl\Table::TYPE_BLOB, '64K', [], 'Additional Information')->addColumn('created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Created At')->addIndex($installer->getIdxName('sales_payment_transaction', ['order_id', 'payment_id', 'txn_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['order_id', 'payment_id', 'txn_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_payment_transaction', ['parent_id']), ['parent_id'])->addIndex($installer->getIdxName('sales_payment_transaction', ['payment_id']), ['payment_id'])->addForeignKey($installer->getFkName('sales_payment_transaction', 'order_id', 'sales_order', 'entity_id'), 'order_id', $installer->getTable('sales_order'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_payment_transaction', 'parent_id', 'sales_payment_transaction', 'transaction_id'), 'parent_id', $installer->getTable('sales_payment_transaction'), 'transaction_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_payment_transaction', 'payment_id', 'sales_order_payment', 'entity_id'), 'payment_id', $installer->getTable('sales_order_payment'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Payment Transaction'); $installer->getConnection()->createTable($table); /** * Create table 'sales_refunded_aggregated' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_refunded_aggregated'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, ['nullable' => false, 'default' => false], 'Order Status')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Refunded')->addColumn('online_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Online Refunded')->addColumn('offline_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Offline Refunded')->addIndex($installer->getIdxName('sales_refunded_aggregated', ['period', 'store_id', 'order_status'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_refunded_aggregated', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_refunded_aggregated', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Refunded Aggregated'); $installer->getConnection()->createTable($table); /** * Create table 'sales_refunded_aggregated_order' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_refunded_aggregated_order'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Status')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Refunded')->addColumn('online_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Online Refunded')->addColumn('offline_refunded', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Offline Refunded')->addIndex($installer->getIdxName('sales_refunded_aggregated_order', ['period', 'store_id', 'order_status'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_refunded_aggregated_order', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_refunded_aggregated_order', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Refunded Aggregated Order'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipping_aggregated' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipping_aggregated'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Status')->addColumn('shipping_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Description')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('total_shipping', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Shipping')->addColumn('total_shipping_actual', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Shipping Actual')->addIndex($installer->getIdxName('sales_shipping_aggregated', ['period', 'store_id', 'order_status', 'shipping_description'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status', 'shipping_description'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_shipping_aggregated', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_shipping_aggregated', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Shipping Aggregated'); $installer->getConnection()->createTable($table); /** * Create table 'sales_shipping_aggregated_order' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_shipping_aggregated_order'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('order_status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 50, [], 'Order Status')->addColumn('shipping_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Shipping Description')->addColumn('orders_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Orders Count')->addColumn('total_shipping', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Shipping')->addColumn('total_shipping_actual', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Total Shipping Actual')->addIndex($installer->getIdxName('sales_shipping_aggregated_order', ['period', 'store_id', 'order_status', 'shipping_description'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'order_status', 'shipping_description'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_shipping_aggregated_order', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_shipping_aggregated_order', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_SET_NULL)->setComment('Sales Shipping Aggregated Order'); $installer->getConnection()->createTable($table); /** * Create table 'sales_bestsellers_aggregated_daily' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_bestsellers_aggregated_daily'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Product Id')->addColumn('product_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Product Name')->addColumn('product_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Product Price')->addColumn('qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty Ordered')->addColumn('rating_pos', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Rating Pos')->addIndex($installer->getIdxName('sales_bestsellers_aggregated_daily', ['period', 'store_id', 'product_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'product_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_daily', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_daily', ['product_id']), ['product_id'])->addForeignKey($installer->getFkName('sales_bestsellers_aggregated_daily', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Bestsellers Aggregated Daily'); $installer->getConnection()->createTable($table); /** * Create table 'sales_bestsellers_aggregated_monthly' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_bestsellers_aggregated_monthly'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Product Id')->addColumn('product_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Product Name')->addColumn('product_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Product Price')->addColumn('qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty Ordered')->addColumn('rating_pos', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Rating Pos')->addIndex($installer->getIdxName('sales_bestsellers_aggregated_monthly', ['period', 'store_id', 'product_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'product_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_monthly', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_monthly', ['product_id']), ['product_id'])->addForeignKey($installer->getFkName('sales_bestsellers_aggregated_monthly', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Bestsellers Aggregated Monthly'); $installer->getConnection()->createTable($table); /** * Create table 'sales_bestsellers_aggregated_yearly' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_bestsellers_aggregated_yearly'))->addColumn('id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Id')->addColumn('period', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, [], 'Period')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true], 'Store Id')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Product Id')->addColumn('product_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Product Name')->addColumn('product_price', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Product Price')->addColumn('qty_ordered', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty Ordered')->addColumn('rating_pos', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Rating Pos')->addIndex($installer->getIdxName('sales_bestsellers_aggregated_yearly', ['period', 'store_id', 'product_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['period', 'store_id', 'product_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_yearly', ['store_id']), ['store_id'])->addIndex($installer->getIdxName('sales_bestsellers_aggregated_yearly', ['product_id']), ['product_id'])->addForeignKey($installer->getFkName('sales_bestsellers_aggregated_yearly', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Bestsellers Aggregated Yearly'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_tax' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_tax'))->addColumn('tax_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Tax Id')->addColumn('order_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Order Id')->addColumn('code', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Code')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Title')->addColumn('percent', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Percent')->addColumn('amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Amount')->addColumn('priority', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Priority')->addColumn('position', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => false], 'Position')->addColumn('base_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Amount')->addColumn('process', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false], 'Process')->addColumn('base_real_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Base Real Amount')->addIndex($installer->getIdxName('sales_order_tax', ['order_id', 'priority', 'position']), ['order_id', 'priority', 'position'])->setComment('Sales Order Tax Table'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_tax_item' */ $table = $setup->getConnection()->newTable($setup->getTable('sales_order_tax_item'))->addColumn('tax_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Tax Item Id')->addColumn('tax_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Tax Id')->addColumn('item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Item Id')->addColumn('tax_percent', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real Tax Percent For Item')->addColumn('amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Tax amount for the item and tax rate')->addColumn('base_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Base tax amount for the item and tax rate')->addColumn('real_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real tax amount for the item and tax rate')->addColumn('real_base_amount', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false], 'Real base tax amount for the item and tax rate')->addColumn('associated_item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['nullable' => true, 'unsigned' => true], 'Id of the associated item')->addColumn('taxable_item_type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false], 'Type of the taxable item')->addIndex($setup->getIdxName('sales_order_tax_item', ['item_id']), ['item_id'])->addIndex($setup->getIdxName('sales_order_tax_item', ['tax_id', 'item_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['tax_id', 'item_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addForeignKey($setup->getFkName('sales_order_tax_item', 'associated_item_id', 'sales_order_item', 'item_id'), 'associated_item_id', $setup->getTable('sales_order_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('sales_order_tax_item', 'tax_id', 'sales_order_tax', 'tax_id'), 'tax_id', $setup->getTable('sales_order_tax'), 'tax_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName('sales_order_tax_item', 'item_id', 'sales_order_item', 'item_id'), 'item_id', $setup->getTable('sales_order_item'), 'item_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Order Tax Item'); $setup->getConnection()->createTable($table); /** * Create table 'sales_order_status' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_status'))->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false, 'primary' => true], 'Status')->addColumn('label', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, ['nullable' => false], 'Label')->setComment('Sales Order Status Table'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_status_state' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_status_state'))->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false, 'primary' => true], 'Status')->addColumn('state', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false, 'primary' => true], 'Label')->addColumn('is_default', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Default')->addColumn('visible_on_front', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 1, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Visible on front')->addForeignKey($installer->getFkName('sales_order_status_state', 'status', 'sales_order_status', 'status'), 'status', $installer->getTable('sales_order_status'), 'status', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Order Status Table'); $installer->getConnection()->createTable($table); /** * Create table 'sales_order_status_label' */ $table = $installer->getConnection()->newTable($installer->getTable('sales_order_status_label'))->addColumn('status', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 32, ['nullable' => false, 'primary' => true], 'Status')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store Id')->addColumn('label', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 128, ['nullable' => false], 'Label')->addIndex($installer->getIdxName('sales_order_status_label', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sales_order_status_label', 'status', 'sales_order_status', 'status'), 'status', $installer->getTable('sales_order_status'), 'status', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sales_order_status_label', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Sales Order Status Label Table'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $table = $setup->getConnection()->newTable($setup->getTable('foggyline_office_department'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity ID')->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 64, [], 'Name')->setComment('Foggyline Office Department Table'); $setup->getConnection()->createTable($table); $employeeEntity = \Foggyline\Office\Model\Employee::ENTITY; $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity'))->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity ID')->addColumn('department_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Department Id')->addColumn('email', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 64, [], 'Email')->addColumn('first_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 64, [], 'First Name')->addColumn('last_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 64, [], 'Last Name')->setComment('Foggyline Office Employee Table'); $setup->getConnection()->createTable($table); $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity_int'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, [], 'Value')->addIndex($setup->getIdxName($employeeEntity . '_entity_int', ['entity_id', 'attribute_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName($employeeEntity . '_entity_int', ['attribute_id']), ['attribute_id'])->addIndex($setup->getIdxName($employeeEntity . '_entity_int', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName($employeeEntity . '_entity_int', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_int', 'entity_id', $employeeEntity . '_entity', 'entity_id'), 'entity_id', $setup->getTable($employeeEntity . '_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_int', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Foggyline Office Employee Integer Attribute Backend Table'); $setup->getConnection()->createTable($table); $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity_datetime'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_DATETIME, null, [], 'Value')->addIndex($setup->getIdxName($employeeEntity . '_entity_datetime', ['entity_id', 'attribute_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName($employeeEntity . '_entity_datetime', ['attribute_id']), ['attribute_id'])->addIndex($setup->getIdxName($employeeEntity . '_entity_datetime', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName($employeeEntity . '_entity_datetime', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_datetime', 'entity_id', $employeeEntity . '_entity', 'entity_id'), 'entity_id', $setup->getTable($employeeEntity . '_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_datetime', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Foggyline Office Employee Datetime Attribute Backend Table'); $setup->getConnection()->createTable($table); $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity_decimal'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Value')->addIndex($setup->getIdxName($employeeEntity . '_entity_decimal', ['entity_id', 'attribute_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName($employeeEntity . '_entity_decimal', ['store_id']), ['store_id'])->addIndex($setup->getIdxName($employeeEntity . '_entity_decimal', ['attribute_id']), ['attribute_id'])->addForeignKey($setup->getFkName($employeeEntity . '_entity_decimal', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_decimal', 'entity_id', $employeeEntity . '_entity', 'entity_id'), 'entity_id', $setup->getTable($employeeEntity . '_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_decimal', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Foggyline Office Employee Decimal Attribute Backend Table'); $setup->getConnection()->createTable($table); $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity_varchar'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Value')->addIndex($setup->getIdxName($employeeEntity . '_entity_varchar', ['entity_id', 'attribute_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName($employeeEntity . '_entity_varchar', ['attribute_id']), ['attribute_id'])->addIndex($setup->getIdxName($employeeEntity . '_entity_varchar', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName($employeeEntity . '_entity_varchar', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_varchar', 'entity_id', $employeeEntity . '_entity', 'entity_id'), 'entity_id', $setup->getTable($employeeEntity . '_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_varchar', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Foggyline Office Employee Varchar Attribute Backend Table'); $setup->getConnection()->createTable($table); $table = $setup->getConnection()->newTable($setup->getTable($employeeEntity . '_entity_text'))->addColumn('value_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Value ID')->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Entity ID')->addColumn('value', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', [], 'Value')->addIndex($setup->getIdxName($employeeEntity . '_entity_text', ['entity_id', 'attribute_id', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['entity_id', 'attribute_id', 'store_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($setup->getIdxName($employeeEntity . '_entity_text', ['attribute_id']), ['attribute_id'])->addIndex($setup->getIdxName($employeeEntity . '_entity_text', ['store_id']), ['store_id'])->addForeignKey($setup->getFkName($employeeEntity . '_entity_text', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $setup->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_text', 'entity_id', $employeeEntity . '_entity', 'entity_id'), 'entity_id', $setup->getTable($employeeEntity . '_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($setup->getFkName($employeeEntity . '_entity_text', 'store_id', 'store', 'store_id'), 'store_id', $setup->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Foggyline Office Employee Text Attribute Backend Table'); $setup->getConnection()->createTable($table); $setup->endSetup(); }