107 lines
3.5 KiB
PHP
Executable File
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();
|
|
}
|
|
}
|