startSetup(); /** * Create table 'reporting_counts' */ $table = $installer->getConnection()->newTable( $installer->getTable('reporting_counts') )->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id' )->addColumn( 'type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Item Reported' )->addColumn( 'count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true], 'Count Value' )->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( 'Reporting for all count related events generated via the cron job' ); $installer->getConnection()->createTable($table); /** * Create table 'reporting_module_status' */ $table = $installer->getConnection()->newTable( $installer->getTable('reporting_module_status') )->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Module Id' )->addColumn( 'name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Module Name' )->addColumn( 'active', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Module Active Status' )->addColumn( 'setup_version', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Module Version' )->addColumn( 'state', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Module State' )->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( 'Module Status Table' ); $installer->getConnection()->createTable($table); /** * Create table 'reporting_orders' */ $table = $installer->getConnection()->newTable( $installer->getTable('reporting_orders') )->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id' )->addColumn( 'customer_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => true], 'Customer Id' )->addColumn( 'total', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '20,2', ['unsigned' => true], 'Total From Store' )->addColumn( 'total_base', \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, '20,2', ['unsigned' => true], 'Total From Base Currency' )->addColumn( 'item_count', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['unsigned' => true, 'nullable' => false], 'Line Item Count' )->addColumn( 'updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Updated At' )->setComment( 'Reporting for all orders' ); $installer->getConnection()->createTable($table); /** * Create table 'reporting_users' */ $table = $installer->getConnection()->newTable( $installer->getTable('reporting_users') )->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id' )->addColumn( 'type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'User Type' )->addColumn( 'action', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Action Performed' )->addColumn( 'updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Updated At' )->setComment( 'Reporting for user actions' ); $installer->getConnection()->createTable($table); /** * Create table 'reporting_system_updates' */ $table = $installer->getConnection()->newTable( $installer->getTable('reporting_system_updates') )->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Entity Id' )->addColumn( 'type', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Update Type' )->addColumn( 'action', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, 255, [], 'Action Performed' )->addColumn( 'updated_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, null, ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT], 'Updated At' )->setComment( 'Reporting for system updates' ); $installer->getConnection()->createTable($table); /** * Prepare database after install */ $installer->endSetup(); } }