Files
2017-11-14 15:04:59 +01:00

107 lines
3.5 KiB
PHP
Executable File

<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace FME\GoogleMapsStoreLocator\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Adapter\AdapterInterface;
class InstallSchema implements InstallSchemaInterface
{
/**
* {@inheritdoc}
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
$table = $installer->getConnection()->newTable(
$installer->getTable('fme_googlemapsstorelocator')
)->addColumn(
'gmaps_id',
\Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
null,
['identity' => true, 'nullable' => false, 'primary' => true],
'Gmaps ID'
)->addColumn(
'store_name',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Store Name'
)->addColumn(
'address',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'2M',
[],
'Store Address'
)->addColumn(
'identifier',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Block String Identifier'
)->addColumn(
'store_description',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'2M',
[],
'Store Description'
)->addColumn(
'latitude',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Latitude'
)->addColumn(
'longitude',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Longitude'
)->addColumn(
'zoom_level',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Zoom Level'
)->addColumn(
'creation_time',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Store Creation Time'
)->addColumn(
'update_time',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
'Store Modification Time'
)->addColumn(
'is_active',
\Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
null,
['nullable' => false, 'default' => '1'],
'Is Store Active'
)->addIndex(
$setup->getIdxName(
$installer->getTable('fme_googlemapsstorelocator'),
['store_name', 'identifier', 'store_description'],
AdapterInterface::INDEX_TYPE_FULLTEXT
),
['store_name', 'identifier', 'store_description'],
['type' => AdapterInterface::INDEX_TYPE_FULLTEXT]
)->setComment(
'FME Stores Table'
);
$installer->getConnection()->createTable($table);
$installer->endSetup();
}
}