/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); if (!$installer->tableExists('gemtoo_blog_article')) { $table = $installer->getConnection()->newTable($installer->getTable('gemtoo_blog_article')); $table->addColumn('article_id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Article ID')->addColumn('name', Table::TYPE_TEXT, 255, ['nullable' => false], 'Article Name')->addColumn('url_key', Table::TYPE_TEXT, 255, ['nullable' => false], 'Article Url Key')->addColumn('content', Table::TYPE_TEXT, '2M', [], 'Article Content')->addColumn('dop', Table::TYPE_DATE, null, [], 'Article Date')->addColumn('type', Table::TYPE_INTEGER, null, [], 'Article Type')->addColumn('image', Table::TYPE_TEXT, 255, [], 'Article Image')->addColumn('file', Table::TYPE_TEXT, 255, [], 'Article File')->addColumn('meta_title', Table::TYPE_TEXT, 255, [], 'Article Meta Title')->addColumn('meta_description', Table::TYPE_TEXT, '2M', [], 'Article Meta Description')->addColumn('meta_keywords', Table::TYPE_TEXT, '2M', [], 'Article Meta Keywords')->addColumn('is_active', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '1'], 'Is Article Active')->addColumn('in_rss', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '1'], 'Show in rss')->addColumn('updated_at', Table::TYPE_TIMESTAMP, null, [], 'Update at')->addColumn('created_at', Table::TYPE_TIMESTAMP, null, [], 'Creation Time')->setComment('Blog articles'); $installer->getConnection()->createTable($table); $installer->getConnection()->addIndex($installer->getTable('gemtoo_blog_article'), $setup->getIdxName($installer->getTable('gemtoo_blog_article'), ['name', 'photo'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['name', 'content', 'url_key', 'file', 'meta_title', 'meta_keywords', 'meta_description'], AdapterInterface::INDEX_TYPE_FULLTEXT); } //Create Articles to Store table if (!$installer->tableExists('gemtoo_blog_article_store')) { $table = $installer->getConnection()->newTable($installer->getTable('gemtoo_blog_article_store')); $table->addColumn('article_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Article ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store ID')->addIndex($installer->getIdxName('gemtoo_blog_article_store', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('gemtoo_blog_article_store', 'article_id', 'gemtoo_blog_article', 'article_id'), 'article_id', $installer->getTable('gemtoo_blog_article'), 'article_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('gemtoo_blog_article_store', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Article To Store Link Table'); $installer->getConnection()->createTable($table); } if (!$installer->tableExists('gemtoo_blog_article_product')) { $table = $installer->getConnection()->newTable($installer->getTable('gemtoo_blog_article_product')); $table->addColumn('article_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Article ID')->addColumn('product_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Product ID')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($installer->getIdxName('gemtoo_blog_article_product', ['product_id']), ['product_id'])->addForeignKey($installer->getFkName('gemtoo_blog_article_product', 'article_id', 'gemtoo_blog_article', 'article_id'), 'article_id', $installer->getTable('gemtoo_blog_article'), 'article_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('gemtoo_blog_article_product', 'product_id', 'catalog_product_entity', 'entity_id'), 'product_id', $installer->getTable('catalog_product_entity'), 'entity_id', Table::ACTION_CASCADE)->addIndex($installer->getIdxName('gemtoo_blog_article_product', ['article_id', 'product_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['article_id', 'product_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->setComment('Article To product Link Table'); $installer->getConnection()->createTable($table); } if (!$installer->tableExists('gemtoo_blog_article_category')) { $table = $installer->getConnection()->newTable($installer->getTable('gemtoo_blog_article_category')); $table->addColumn('article_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Article ID')->addColumn('category_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Category ID')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($installer->getIdxName('gemtoo_blog_article_category', ['category_id']), ['category_id'])->addForeignKey($installer->getFkName('gemtoo_blog_article_category', 'article_id', 'gemtoo_blog_article', 'article_id'), 'article_id', $installer->getTable('gemtoo_blog_article'), 'article_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('gemtoo_blog_article_category', 'category_id', 'catalog_category_entity', 'entity_id'), 'category_id', $installer->getTable('catalog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addIndex($installer->getIdxName('gemtoo_blog_article_category', ['article_id', 'category_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['article_id', 'category_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->setComment('Article To category Link Table'); $installer->getConnection()->createTable($table); } }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /** * Create table 'cataloginventory_stock' */ $table = $installer->getConnection()->newTable($installer->getTable('cataloginventory_stock'))->addColumn('stock_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Stock Id')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 5, ['unsigned' => true, 'nullable' => false], 'Website Id')->addColumn('stock_name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Stock Name')->addIndex($setup->getIdxName($installer->getTable('cataloginventory_stock'), ['website_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX), ['website_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX)->setComment('Cataloginventory Stock'); $installer->getConnection()->createTable($table); /** * Create table 'cataloginventory_stock_item' */ $table = $installer->getConnection()->newTable($installer->getTable('cataloginventory_stock_item'))->addColumn('item_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Item Id')->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Product Id')->addColumn('stock_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Stock Id')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['unsigned' => false, 'nullable' => true, 'default' => null], 'Qty')->addColumn('min_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Min Qty')->addColumn('use_config_min_qty', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Min Qty')->addColumn('is_qty_decimal', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Qty Decimal')->addColumn('backorders', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Backorders')->addColumn('use_config_backorders', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Backorders')->addColumn('min_sale_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '1.0000'], 'Min Sale Qty')->addColumn('use_config_min_sale_qty', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Min Sale Qty')->addColumn('max_sale_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Max Sale Qty')->addColumn('use_config_max_sale_qty', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Max Sale Qty')->addColumn('is_in_stock', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is In Stock')->addColumn('low_stock_date', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Low Stock Date')->addColumn('notify_stock_qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', [], 'Notify Stock Qty')->addColumn('use_config_notify_stock_qty', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Notify Stock Qty')->addColumn('manage_stock', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Manage Stock')->addColumn('use_config_manage_stock', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Manage Stock')->addColumn('stock_status_changed_auto', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Stock Status Changed Automatically')->addColumn('use_config_qty_increments', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Qty Increments')->addColumn('qty_increments', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty Increments')->addColumn('use_config_enable_qty_inc', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '1'], 'Use Config Enable Qty Increments')->addColumn('enable_qty_increments', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Enable Qty Increments')->addColumn('is_decimal_divided', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 5, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Is Divided into Multiple Boxes for Shipping')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 5, ['unsigned' => true, 'nullable' => false, 'default' => 0], 'Is Divided into Multiple Boxes for Shipping')->addIndex($installer->getIdxName('cataloginventory_stock_item', ['product_id', 'website_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['product_id', 'website_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE])->addIndex($installer->getIdxName('cataloginventory_stock_item', ['website_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX), ['website_id'], ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX])->addIndex($installer->getIdxName('cataloginventory_stock_item', ['stock_id']), ['stock_id'])->addForeignKey($installer->getFkName('cataloginventory_stock_item', 'product_id', 'catalog_product_entity', 'entity_id'), 'product_id', $installer->getTable('catalog_product_entity'), 'entity_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('cataloginventory_stock_item', 'stock_id', 'cataloginventory_stock', 'stock_id'), 'stock_id', $installer->getTable('cataloginventory_stock'), 'stock_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Cataloginventory Stock Item'); $installer->getConnection()->createTable($table); /** * Create table 'cataloginventory_stock_status' */ $table = $installer->getConnection()->newTable($installer->getTable('cataloginventory_stock_status'))->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Product Id')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Website Id')->addColumn('stock_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Stock Id')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty')->addColumn('stock_status', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Stock Status')->addIndex($installer->getIdxName('cataloginventory_stock_status', ['stock_id']), ['stock_id'])->addIndex($installer->getIdxName('cataloginventory_stock_status', ['website_id']), ['website_id'])->setComment('Cataloginventory Stock Status'); $installer->getConnection()->createTable($table); /** * Create table 'cataloginventory_stock_status_idx' */ $table = $installer->getConnection()->newTable($installer->getTable('cataloginventory_stock_status_idx'))->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Product Id')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Website Id')->addColumn('stock_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Stock Id')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty')->addColumn('stock_status', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Stock Status')->addIndex($installer->getIdxName('cataloginventory_stock_status_idx', ['stock_id']), ['stock_id'])->addIndex($installer->getIdxName('cataloginventory_stock_status_idx', ['website_id']), ['website_id'])->setComment('Cataloginventory Stock Status Indexer Idx'); $installer->getConnection()->createTable($table); /** * Create table 'cataloginventory_stock_status_tmp' */ $table = $installer->getConnection()->newTable($installer->getTable('cataloginventory_stock_status_tmp'))->addColumn('product_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Product Id')->addColumn('website_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Website Id')->addColumn('stock_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Stock Id')->addColumn('qty', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '12,4', ['nullable' => false, 'default' => '0.0000'], 'Qty')->addColumn('stock_status', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Stock Status')->addIndex($installer->getIdxName('cataloginventory_stock_status_tmp', ['stock_id']), ['stock_id'])->addIndex($installer->getIdxName('cataloginventory_stock_status_tmp', ['website_id']), ['website_id'])->setOption('type', \Magento\Framework\DB\Adapter\Pdo\Mysql::ENGINE_MEMORY)->setComment('Cataloginventory Stock Status Indexer Tmp'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /** * Create table 'cms_block' */ $table = $installer->getConnection()->newTable($installer->getTable('cms_block'))->addColumn('block_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Block ID')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Block Title')->addColumn('identifier', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Block String Identifier')->addColumn('content', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '2M', [], 'Block Content')->addColumn('creation_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Block Creation Time')->addColumn('update_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Block Modification Time')->addColumn('is_active', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Is Block Active')->addIndex($setup->getIdxName($installer->getTable('cms_block'), ['title', 'identifier', 'content'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['title', 'identifier', 'content'], ['type' => AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('CMS Block Table'); $installer->getConnection()->createTable($table); /** * Create table 'cms_block_store' */ $table = $installer->getConnection()->newTable($installer->getTable('cms_block_store'))->addColumn('block_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'primary' => true], 'Block ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store ID')->addIndex($installer->getIdxName('cms_block_store', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('cms_block_store', 'block_id', 'cms_block', 'block_id'), 'block_id', $installer->getTable('cms_block'), 'block_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('cms_block_store', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('CMS Block To Store Linkage Table'); $installer->getConnection()->createTable($table); /** * Create table 'cms_page' */ $table = $installer->getConnection()->newTable($installer->getTable('cms_page'))->addColumn('page_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Page ID')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Page Title')->addColumn('page_layout', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Page Layout')->addColumn('meta_keywords', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Page Meta Keywords')->addColumn('meta_description', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Page Meta Description')->addColumn('identifier', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, ['nullable' => true, 'default' => null], 'Page String Identifier')->addColumn('content_heading', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Page Content Heading')->addColumn('content', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '2M', [], 'Page Content')->addColumn('creation_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Page Creation Time')->addColumn('update_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Page Modification Time')->addColumn('is_active', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Is Page Active')->addColumn('sort_order', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '0'], 'Page Sort Order')->addColumn('layout_update_xml', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Page Layout Update Content')->addColumn('custom_theme', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 100, ['nullable' => true], 'Page Custom Theme')->addColumn('custom_root_template', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => true], 'Page Custom Template')->addColumn('custom_layout_update_xml', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '64k', ['nullable' => true], 'Page Custom Layout Update Content')->addColumn('custom_theme_from', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, ['nullable' => true], 'Page Custom Theme Active From Date')->addColumn('custom_theme_to', \Magento\Framework\DB\Ddl\Table::TYPE_DATE, null, ['nullable' => true], 'Page Custom Theme Active To Date')->addIndex($installer->getIdxName('cms_page', ['identifier']), ['identifier'])->addIndex($setup->getIdxName($installer->getTable('cms_page'), ['title', 'meta_keywords', 'meta_description', 'identifier', 'content'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['title', 'meta_keywords', 'meta_description', 'identifier', 'content'], ['type' => AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('CMS Page Table'); $installer->getConnection()->createTable($table); /** * Create table 'cms_page_store' */ $table = $installer->getConnection()->newTable($installer->getTable('cms_page_store'))->addColumn('page_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'primary' => true], 'Page ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store ID')->addIndex($installer->getIdxName('cms_page_store', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('cms_page_store', 'page_id', 'cms_page', 'page_id'), 'page_id', $installer->getTable('cms_page'), 'page_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('cms_page_store', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('CMS Page To Store Linkage Table'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); if (!$installer->tableExists('signifyd_connect_case')) { $table = $installer->getConnection()->newTable($installer->getTable('signifyd_connect_case')); $table->addColumn('order_increment', Table::TYPE_TEXT, 255, ['nullable' => false, 'primary' => true], 'Order ID')->addColumn('signifyd_status', Table::TYPE_TEXT, 255, ['nullable' => false, 'default' => 'PENDING'], 'Signifyd Status')->addColumn('code', Table::TYPE_TEXT, 255, ['nullable' => false], 'Code')->addColumn('score', Table::TYPE_FLOAT, null, [], 'Score')->addColumn('guarantee', Table::TYPE_TEXT, 64, ['nullable' => false, 'default' => 'N/A'], 'Guarantee Status')->addColumn('entries_text', Table::TYPE_TEXT, null, ['nullable' => false], 'Entries')->addColumn('created', Table::TYPE_TIMESTAMP, null, [], 'Creation Time')->addColumn('updated', Table::TYPE_TIMESTAMP, null, [], 'Update Time')->setComment('Signifyd Cases'); $installer->getConnection()->createTable($table); } // Retry table, stores orders that fail to pose as cases if (!$installer->tableExists('signifyd_connect_retries')) { $table = $installer->getConnection()->newTable($installer->getTable('signifyd_connect_retries')); $table->addColumn('order_increment', Table::TYPE_TEXT, 255, ['nullable' => false, 'primary' => true], 'Order ID')->addColumn('created', Table::TYPE_TIMESTAMP, null, [], 'Creation Time')->addColumn('updated', Table::TYPE_TIMESTAMP, null, [], 'Last Attempt')->setComment('Signifyd Retries'); $installer->getConnection()->createTable($table); } // The plan here is to add the signifyd case data directly to the order tables $tableName = $setup->getTable('sales_order'); $gridTableName = $setup->getTable('sales_order_grid'); if ($installer->getConnection()->isTableExists($tableName)) { $columns = ['signifyd_score' => ['type' => Table::TYPE_FLOAT, 'default' => null, 'comment' => 'Score'], 'signifyd_guarantee' => ['type' => Table::TYPE_TEXT, 'LENGTH' => 64, 'default' => 'N/A', 'nullable' => false, 'comment' => 'Guarantee Status'], 'signifyd_code' => ['type' => Table::TYPE_TEXT, 'LENGTH' => 255, 'default' => '', 'nullable' => false, 'comment' => 'Code']]; $connection = $setup->getConnection(); foreach ($columns as $name => $definition) { $connection->dropColumn($tableName, $name); $connection->addColumn($tableName, $name, $definition); $connection->dropColumn($gridTableName, $name); $connection->addColumn($gridTableName, $name, $definition); } } }
public function uninstall(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $connection = $setup->getConnection(); $connection->dropTable($setup->getTable('algoliasearch_queue')); $setup->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); if (!$installer->tableExists('sample_news_author')) { $table = $installer->getConnection()->newTable($installer->getTable('sample_news_author')); $table->addColumn('author_id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Author ID')->addColumn('name', Table::TYPE_TEXT, 255, ['nullable' => false], 'Author Name')->addColumn('url_key', Table::TYPE_TEXT, 255, ['nullable' => false], 'Author Url Key')->addColumn('biography', Table::TYPE_TEXT, '2M', [], 'Author Biography')->addColumn('dob', Table::TYPE_DATE, null, [], 'Author Birth date')->addColumn('awards', Table::TYPE_TEXT, '2M', [], 'Author Awards')->addColumn('type', Table::TYPE_INTEGER, null, [], 'Author Type')->addColumn('avatar', Table::TYPE_TEXT, 255, [], 'Author Avatar')->addColumn('resume', Table::TYPE_TEXT, 255, [], 'Author Resume')->addColumn('country', Table::TYPE_TEXT, 2, [], 'Author Country')->addColumn('meta_title', Table::TYPE_TEXT, 255, [], 'Author Meta Title')->addColumn('meta_description', Table::TYPE_TEXT, '2M', [], 'Author Meta Description')->addColumn('meta_keywords', Table::TYPE_TEXT, '2M', [], 'Author Meta Keywords')->addColumn('is_active', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '1'], 'Is Author Active')->addColumn('in_rss', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '1'], 'Show in rss')->addColumn('updated_at', Table::TYPE_TIMESTAMP, null, [], 'Update at')->addColumn('created_at', Table::TYPE_TIMESTAMP, null, [], 'Creation Time')->setComment('News authors'); $installer->getConnection()->createTable($table); $installer->getConnection()->addIndex($installer->getTable('sample_news_author'), $setup->getIdxName($installer->getTable('sample_news_author'), ['name', 'photo'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['name', 'biography', 'url_key', 'resume', 'country', 'meta_title', 'meta_keywords', 'meta_description'], AdapterInterface::INDEX_TYPE_FULLTEXT); } //Create Authors to Store table if (!$installer->tableExists('sample_news_author_store')) { $table = $installer->getConnection()->newTable($installer->getTable('sample_news_author_store')); $table->addColumn('author_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Author ID')->addColumn('store_id', Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Store ID')->addIndex($installer->getIdxName('sample_news_author_store', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('sample_news_author_store', 'author_id', 'sample_news_author', 'author_id'), 'author_id', $installer->getTable('sample_news_author'), 'author_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sample_news_author_store', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', Table::ACTION_CASCADE)->setComment('Author To Store Link Table'); $installer->getConnection()->createTable($table); } if (!$installer->tableExists('sample_news_author_product')) { $table = $installer->getConnection()->newTable($installer->getTable('sample_news_author_product')); $table->addColumn('author_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Author ID')->addColumn('product_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Product ID')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($installer->getIdxName('sample_news_author_product', ['product_id']), ['product_id'])->addForeignKey($installer->getFkName('sample_news_author_product', 'author_id', 'sample_news_author', 'author_id'), 'author_id', $installer->getTable('sample_news_author'), 'author_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sample_news_author_product', 'product_id', 'catalog_product_entity', 'entity_id'), 'product_id', $installer->getTable('catalog_product_entity'), 'entity_id', Table::ACTION_CASCADE)->addIndex($installer->getIdxName('sample_news_author_product', ['author_id', 'product_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['author_id', 'product_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->setComment('Author To product Link Table'); $installer->getConnection()->createTable($table); } if (!$installer->tableExists('sample_news_author_category')) { $table = $installer->getConnection()->newTable($installer->getTable('sample_news_author_category')); $table->addColumn('author_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Author ID')->addColumn('category_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false, 'primary' => true], 'Category ID')->addColumn('position', Table::TYPE_INTEGER, null, ['nullable' => false, 'default' => '0'], 'Position')->addIndex($installer->getIdxName('sample_news_author_category', ['category_id']), ['category_id'])->addForeignKey($installer->getFkName('sample_news_author_category', 'author_id', 'sample_news_author', 'author_id'), 'author_id', $installer->getTable('sample_news_author'), 'author_id', Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('sample_news_author_category', 'category_id', 'catalog_category_entity', 'entity_id'), 'category_id', $installer->getTable('catalog_category_entity'), 'entity_id', Table::ACTION_CASCADE)->addIndex($installer->getIdxName('sample_news_author_category', ['author_id', 'category_id'], AdapterInterface::INDEX_TYPE_UNIQUE), ['author_id', 'category_id'], ['type' => AdapterInterface::INDEX_TYPE_UNIQUE])->setComment('Author To category Link Table'); $installer->getConnection()->createTable($table); } }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; /** * update columns created_at and updated_at in sales entities tables */ $tables = ['sales_order', 'quote']; /** @var \Magento\Framework\DB\Adapter\AdapterInterface $connection */ $connection = $installer->getConnection(); foreach ($tables as $table) { $columns = $connection->describeTable($installer->getTable($table)); if (!isset($columns['customer_lastnamekana'])) { $setup->getConnection()->addColumn($table, 'customer_lastnamekana', ['type' => Table::TYPE_TEXT, 'length' => 255, 'comment' => 'Customer Lastname Kana']); } if (!isset($columns['customer_firstnamekana'])) { $setup->getConnection()->addColumn($table, 'customer_firstnamekana', ['type' => Table::TYPE_TEXT, 'length' => 255, 'comment' => 'Customer Firstname Kana']); } } $tables = ['sales_order_address', 'quote_address']; foreach ($tables as $table) { $columns = $connection->describeTable($installer->getTable($table)); if (!isset($columns['lastnamekana'])) { $setup->getConnection()->addColumn($table, 'lastnamekana', ['type' => Table::TYPE_TEXT, 'length' => 255, 'comment' => 'Customer Lastname Kana']); } if (!isset($columns['firstnamekana'])) { $setup->getConnection()->addColumn($table, 'firstnamekana', ['type' => Table::TYPE_TEXT, 'length' => 255, 'comment' => 'Customer Firstname Kana']); } } }
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $tableName = 'jcowie_featuretoggle'; $table = $setup->getConnection()->newTable($tableName); $table->addColumn('featuretoggle_id', Table::TYPE_INTEGER, null, ['unsigned' => true, 'identity' => true, 'primary' => true])->addColumn('name', Table::TYPE_TEXT, 255, ['nullable' => false])->addColumn('status', Table::TYPE_TEXT, 255, ['nullable' => false]); $setup->getConnection()->createTable($table); }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '2.7.0', '<')) { $setup->getConnection()->addColumn($setup->getTable('barbanet_samplemodule'), 'description', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'length' => 255, 'nullable' => false, 'comment' => 'Row description']); } $setup->endSetup(); }
/** * Installs DB schema for BuyerReview module * * @param SchemaSetupInterface $setup * @param ModuleContextInterface $context * @return void */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /* Add index on product_id field in sales_order_item table */ $installer->getConnection()->addIndex($installer->getTable('sales_order_item'), $setup->getIdxName($installer->getTable('sales_order_item'), ['product_id']), ['product_id']); $installer->endSetup(); }
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '1.0.1') < 0) { $this->createMailMainTable($setup); } $setup->endSetup(); }
/** * @inheritdoc */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $this->_context = $context; $setup->startSetup(); /* perform module specific operations */ $this->_setup(); $setup->endSetup(); }
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '1.1.2', '<')) { $this->createTables($setup); } $setup->endSetup(); }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $connection = $setup->getConnection(); if (version_compare($context->getVersion(), '2.0.1', '<')) { $column = ['type' => Table::TYPE_SMALLINT, 'length' => 6, 'nullable' => false, 'comment' => 'Applied mode', 'default' => '0']; $connection->addColumn($setup->getTable('checkout_agreement'), 'mode', $column); } }
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $setup->startSetup(); $table = $installer->getConnection()->newTable($installer->getTable('genmato_multistoresearchfields_attribute_search_store'))->addColumn('attribute_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false], 'Attribute ID')->addColumn('store_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['unsigned' => true, 'nullable' => false, 'default' => '0'], 'Store ID')->addIndex($installer->getIdxName('genmato_multistoresearchfields_attribute_search_store', ['store_id']), ['store_id'])->addForeignKey($installer->getFkName('genmato_multistoresearchfields_attribute_search_store', 'store_id', 'store', 'store_id'), 'store_id', $installer->getTable('store'), 'store_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->addForeignKey($installer->getFkName('genmato_multistoresearchfields_attribute_search_store', 'attribute_id', 'eav_attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav_attribute'), 'attribute_id', \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE, \Magento\Framework\DB\Ddl\Table::ACTION_CASCADE)->setComment('Attribute Advanced Search Store'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $connection = $installer->getConnection(); if (version_compare($context->getVersion(), '2.0.1') < 0) { $connection->dropIndex($setup->getTable('search_query'), $installer->getIdxName('search_query', ['query_text', 'store_id'])); $connection->addIndex($setup->getTable('search_query'), $installer->getIdxName('search_query', ['query_text', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE), ['query_text', 'store_id'], \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE); } }
/** * Append decimal display related columns to attribute table * * @param \Magento\Framework\Setup\SchemaSetupInterface $setup The setup instance */ private function appendDecimalDisplayConfiguration(SchemaSetupInterface $setup) { $connection = $setup->getConnection(); $table = $setup->getTable('catalog_eav_attribute'); // Append a column 'display_pattern' into the db. $connection->addColumn($table, 'display_pattern', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'nullable' => true, 'default' => null, 'length' => 10, 'comment' => 'The pattern to display facet values']); // Append a column 'display_precision' into the db. $connection->addColumn($table, 'display_precision', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'nullable' => true, 'default' => 0, 'comment' => 'Attribute decimal precision for display']); }
/** * Remove Sub Product Discounts * @param SchemaSetupInterface $setup * @return void */ private function removeSubProductDiscounts(SchemaSetupInterface $setup) { $connection = $setup->getConnection(); $data = ['catalogrule' => ['sub_is_enable', 'sub_simple_action', 'sub_discount_amount'], 'catalogrule_product' => ['sub_simple_action', 'sub_discount_amount']]; foreach ($data as $table => $fields) { foreach ($fields as $field) { $connection->dropColumn($setup->getTable($table), $field); } } }
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 upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '0.1.1', '<')) { $connection = $setup->getConnection(); $column = ['type' => Table::TYPE_SMALLINT, 'length' => 6, 'nullable' => false, 'comment' => 'Is Visible', 'default' => '1']; $connection->addColumn($setup->getTable('genmato_demo'), 'is_visible', $column); } $setup->endSetup(); }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $connection = $setup->getConnection(); if (version_compare($context->getVersion(), '1.1.0', '<')) { //remove quote table $connection->dropTable($setup->getTable('email_quote')); } $setup->endSetup(); }
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '1.1.2', '<')) { // Get module table $tableName = $setup->getTable('lr_addresses'); // Check if the table already exists if ($setup->getConnection()->isTableExists($tableName) == true) { // Declare data $columns = ['country' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'nullable' => false, 'comment' => 'country name']]; $connection = $setup->getConnection(); foreach ($columns as $name => $definition) { $connection->addColumn($tableName, $name, $definition); } } // Get module table $tableNameExtendedProfile = $setup->getTable('lr_extended_profile_data'); // Check if the table already exists if ($setup->getConnection()->isTableExists($tableNameExtendedProfile) == true) { // Declare data $columnsAdd = ['no_of_login' => ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'nullable' => false, 'comment' => 'no of login']]; $connectionData = $setup->getConnection(); foreach ($columnsAdd as $name => $definition) { $connectionData->addColumn($tableNameExtendedProfile, $name, $definition); } } } $setup->endSetup(); }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '1.0.0.1', '<')) { $this->updateSchemaVersion1001($setup); } if (version_compare($context->getVersion(), '1.0.0.2', '<')) { $this->updateSchemaVersion1002($setup); } $setup->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /** * Create table 'samplemodule_table' */ $table = $installer->getConnection()->newTable($installer->getTable('barbanet_samplemodule'))->addColumn('row_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Row ID')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Row Title')->addColumn('content', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, '2M', [], 'Row Content')->addColumn('creation_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Row Creation Time')->addColumn('update_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE], 'Row Modification Time')->addColumn('is_active', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Is Row Active')->addIndex($setup->getIdxName($installer->getTable('barbanet_samplemodule'), ['title', 'content'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['title', 'content'], ['type' => AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Barbanet SampleModule Table'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); /** * Create table 'genmato_demo' */ $table = $installer->getConnection()->newTable($installer->getTable('genmato_demo'))->addColumn('demo_id', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['identity' => true, 'nullable' => false, 'primary' => true], 'Demo ID')->addColumn('title', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, ['nullable' => false], 'Demo Title')->addColumn('creation_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Creation Time')->addColumn('update_time', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, [], 'Modification Time')->addColumn('is_active', \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Is Active')->addIndex($setup->getIdxName($installer->getTable('genmato_demo'), ['title'], AdapterInterface::INDEX_TYPE_FULLTEXT), ['title'], ['type' => AdapterInterface::INDEX_TYPE_FULLTEXT])->setComment('Demo Table'); $installer->getConnection()->createTable($table); $installer->endSetup(); }
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $setup->startSetup(); $tableName = $setup->getTable('rapidmage_rules'); if ($installer->getConnection()->isTableExists($tableName) != true) { $table = $installer->getConnection()->newTable($tableName)->addColumn('id', Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'ID')->addColumn('who', Table::TYPE_TEXT, '2M', ['nullable' => false, 'default' => ''], 'Who')->addColumn('request', Table::TYPE_TEXT, null, ['nullable' => false, 'default' => ''], 'Request')->addColumn('what', Table::TYPE_TEXT, null, [['nullable' => false, 'default' => 0]], 'What')->addColumn('why', Table::TYPE_TEXT, null, ['nullable' => false], 'Why')->addColumn('level', Table::TYPE_TEXT, null, ['nullable' => false], 'Level')->addColumn('enabled', Table::TYPE_INTEGER, null, ['nullable' => false], 'Enabled')->addColumn('edited_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Edited At')->addColumn('updated_at', Table::TYPE_DATETIME, null, ['nullable' => false], 'Updated At')->setComment('Firewall Rules list')->setOption('type', 'InnoDB')->setOption('charset', 'utf8'); $installer->getConnection()->createTable($table); } $setup->endSetup(); }
/** * Called when run the command: php bin/magento module:uninstall UOL_PagSeguro * to uninstall UOL_PagSeguro data from the DB * @param Magento\Framework\Setup\SchemaSetupInterface $setup * @param Magento\Framework\Setup\ModuleContextInterface $context */ public function uninstall(SchemaSetupInterface $setup, ModuleContextInterface $context) { $statuses = ['pagseguro_iniciado', 'pagseguro_aguardando_pagamento', 'pagseguro_cancelada', 'pagseguro_chargeback_debitado', 'pagseguro_devolvida', 'pagseguro_disponivel', 'pagseguro_em_analise', 'pagseguro_em_contestacao', 'pagseguro_em_disputa', 'pagseguro_paga']; $paths = ['pagseguro/store/reference', 'payment/pagseguro/active', 'payment/pagseguro/title', 'payment/pagseguro/email', 'payment/pagseguro/token', 'payment/pagseguro/redirect', 'payment/pagseguro/notification', 'payment/pagseguro/charset', 'payment/pagseguro/log', 'payment/pagseguro/log_file', 'payment/pagseguro/checkout', 'payment/pagseguro/environment', 'payment/pagseguro/abandoned_active']; $setup->startSetup(); $this->dropPagSeguroOrdersTable($setup); $this->dropColumnsFromSalesOrderGrid($setup); $this->removeDataFromSalesOrderStatus($setup, $statuses); $this->removeDataFromSalesOrderStatusState($setup, $statuses); $this->removeDataFromCoreConfigData($setup, $paths); $setup->endSetup(); }
/** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $connection = $installer->getConnection(); if (version_compare($context->getVersion(), '2.0.1') < 0) { /** * Modifying length of 'interface_locale' column of admin_user table. */ $table = $setup->getTable('admin_user'); $connection->modifyColumn($table, 'interface_locale', ['type' => Table::TYPE_TEXT, 'length' => 16, 'nullable' => false, 'default' => 'en_US', 'comment' => 'Backend interface locale']); } }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $connection = $setup->getConnection(); if (version_compare($context->getVersion(), '2.0.1', '<')) { $fields = [['table' => 'catalog_product_index_price_bundle_opt_idx', 'column' => 'alt_group_price'], ['table' => 'catalog_product_index_price_bundle_opt_tmp', 'column' => 'alt_group_price'], ['table' => 'catalog_product_index_price_bundle_idx', 'column' => 'base_group_price'], ['table' => 'catalog_product_index_price_bundle_tmp', 'column' => 'base_group_price'], ['table' => 'catalog_product_index_price_bundle_idx', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_opt_idx', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_opt_tmp', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_sel_idx', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_sel_tmp', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_tmp', 'column' => 'group_price'], ['table' => 'catalog_product_index_price_bundle_idx', 'column' => 'group_price_percent'], ['table' => 'catalog_product_index_price_bundle_tmp', 'column' => 'group_price_percent']]; foreach ($fields as $filedInfo) { $connection->dropColumn($setup->getTable($filedInfo['table']), $filedInfo['column']); } } $setup->endSetup(); }
/** * {@inheritdoc} */ public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $connection = $setup->getConnection(); if (version_compare($context->getVersion(), '1.1.0', '<')) { //remove quote table $connection->dropTable($setup->getTable('email_quote')); } if (version_compare($context->getVersion(), '2.0.6', '<')) { //modify email_campaign table $campaignTable = $setup->getTable('email_campaign'); //add columns $connection->addColumn($campaignTable, 'send_id', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 'nullable' => false, 'default' => '', 'comment' => 'Campaign Send Id']); $connection->addColumn($campaignTable, 'send_status', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 'nullable' => false, 'default' => 0, 'comment' => 'Send Status']); if ($connection->tableColumnExists($campaignTable, 'is_sent')) { //update table with historical send values $select = $connection->select(); //join $select->joinLeft(['oc' => $campaignTable], "oc.id = nc.id", ['send_status' => new \Zend_Db_Expr(\Dotdigitalgroup\Email\Model\Campaign::SENT)])->where('oc.is_sent =?', 1); //update query from select $updateSql = $select->crossUpdateFromSelect(['nc' => $campaignTable]); //run query $connection->query($updateSql); //remove column $connection->dropColumn($campaignTable, 'is_sent'); } //add index $connection->addIndex($campaignTable, $setup->getIdxName($campaignTable, ['send_status']), ['send_status']); } if (version_compare($context->getVersion(), '2.1.0', '<')) { $couponTable = $setup->getTable('salesrule_coupon'); $connection->addColumn($couponTable, 'generated_by_dotmailer', ['type' => \Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT, 'nullable' => true, 'default' => null, 'comment' => '1 = Generated by dotmailer']); } $setup->endSetup(); }