|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Makarovsoft / Email / Setup / |
Filename | /home/dev2.destoffenstraat.com/app/code/Makarovsoft/Email/Setup/InstallSchema.php |
Size | 11.5 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 06-Apr-2021 18:06 |
Last accessed | 22-Aug-2025 13:56 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Makarovsoft\Email\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
use Magento\Framework\DB\Adapter\AdapterInterface;
/**
* @codeCoverageIgnore
*/
class InstallSchema implements InstallSchemaInterface
{
/**
* {@inheritdoc}
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
if (!$installer->tableExists('makarovsoft_email_message')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_message'));
$table->addColumn(
'message_id',
Table::TYPE_INTEGER,
null,
[
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true
],
'Message ID'
)
->addColumn(
'to',
Table::TYPE_TEXT,
255,
['nullable' => false,],
'Message Name'
)
->addColumn(
'subject',
Table::TYPE_TEXT,
'2M',
['nullable' => false,],
'Message Url Key'
)
->addColumn(
'body',
Table::TYPE_TEXT,
'4M',
[],
'Message Biography'
)
->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[],
'Message Type'
)
->addColumn(
'customer_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => true,
],
'Message Type'
)
->addColumn(
'order_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => true,
],
'Message Type'
)
->addColumn(
'is_active',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Message Active'
)
->addColumn(
'created_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Update at'
)
->addColumn(
'updated_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => true],
'Creation Time'
)
->setComment('Email messages');
$installer->getConnection()->createTable($table);
$installer->getConnection()->addIndex(
$installer->getTable('makarovsoft_email_message'),
$setup->getIdxName(
$installer->getTable('makarovsoft_email_message'),
['name','photo'],
AdapterInterface::INDEX_TYPE_FULLTEXT
),
[
'to',
],
AdapterInterface::INDEX_TYPE_FULLTEXT
);
}
//Create Messages to Store table
if (!$installer->tableExists('makarovsoft_email_message_store')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_message_store'));
$table->addColumn(
'message_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Message ID'
)
->addColumn(
'store_id',
Table::TYPE_SMALLINT,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Store ID'
)
->addIndex(
$installer->getIdxName('makarovsoft_email_message_store', ['store_id']),
['store_id']
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_message_store', 'message_id', 'makarovsoft_email_message', 'message_id'),
'message_id',
$installer->getTable('makarovsoft_email_message'),
'message_id',
Table::ACTION_CASCADE
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_message_store', 'store_id', 'store', 'store_id'),
'store_id',
$installer->getTable('store'),
'store_id',
Table::ACTION_CASCADE
)
->setComment('Message To Store Link Table');
$installer->getConnection()->createTable($table);
}
/*
* Template
*/
if (!$installer->tableExists('makarovsoft_email_template')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_template'));
$table->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true
],
'Template ID'
)
->addColumn(
'name',
Table::TYPE_TEXT,
255,
['nullable' => false,],
'Template Name'
)
->addColumn(
'subject',
Table::TYPE_TEXT,
1024,
['nullable' => false,],
'Template Name'
)
->addColumn(
'body',
Table::TYPE_TEXT,
'2M',
[],
'Template Biography'
)
->addColumn(
'recepients',
Table::TYPE_TEXT,
'2M',
[],
'Template Biography'
)
->addColumn(
'is_active',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Template Active'
)
->addColumn(
'sort_order',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Template Active'
)
->addColumn(
'updated_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
'Update at'
)
->addColumn(
'created_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Creation Time'
)
->setComment('Email templates');
$installer->getConnection()->createTable($table);
$installer->getConnection()->addIndex(
$installer->getTable('makarovsoft_email_template'),
$setup->getIdxName(
$installer->getTable('makarovsoft_email_template'),
['name','photo'],
AdapterInterface::INDEX_TYPE_FULLTEXT
),
[
'name',
],
AdapterInterface::INDEX_TYPE_FULLTEXT
);
}
//Create Templates to Store table
if (!$installer->tableExists('makarovsoft_email_template_store')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_template_store'));
$table->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Template ID'
)
->addColumn(
'store_id',
Table::TYPE_SMALLINT,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Store ID'
)
->addIndex(
$installer->getIdxName('makarovsoft_email_template_store', ['store_id']),
['store_id']
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_template_store', 'template_id', 'makarovsoft_email_template', 'template_id'),
'template_id',
$installer->getTable('makarovsoft_email_template'),
'template_id',
Table::ACTION_CASCADE
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_template_store', 'store_id', 'store', 'store_id'),
'store_id',
$installer->getTable('store'),
'store_id',
Table::ACTION_CASCADE
)
->setComment('Template To Store Link Table');
$installer->getConnection()->createTable($table);
}
}
}
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Makarovsoft\Email\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
use Magento\Framework\DB\Adapter\AdapterInterface;
/**
* @codeCoverageIgnore
*/
class InstallSchema implements InstallSchemaInterface
{
/**
* {@inheritdoc}
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
if (!$installer->tableExists('makarovsoft_email_message')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_message'));
$table->addColumn(
'message_id',
Table::TYPE_INTEGER,
null,
[
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true
],
'Message ID'
)
->addColumn(
'to',
Table::TYPE_TEXT,
255,
['nullable' => false,],
'Message Name'
)
->addColumn(
'subject',
Table::TYPE_TEXT,
'2M',
['nullable' => false,],
'Message Url Key'
)
->addColumn(
'body',
Table::TYPE_TEXT,
'4M',
[],
'Message Biography'
)
->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[],
'Message Type'
)
->addColumn(
'customer_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => true,
],
'Message Type'
)
->addColumn(
'order_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => true,
],
'Message Type'
)
->addColumn(
'is_active',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Message Active'
)
->addColumn(
'created_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Update at'
)
->addColumn(
'updated_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => true],
'Creation Time'
)
->setComment('Email messages');
$installer->getConnection()->createTable($table);
$installer->getConnection()->addIndex(
$installer->getTable('makarovsoft_email_message'),
$setup->getIdxName(
$installer->getTable('makarovsoft_email_message'),
['name','photo'],
AdapterInterface::INDEX_TYPE_FULLTEXT
),
[
'to',
],
AdapterInterface::INDEX_TYPE_FULLTEXT
);
}
//Create Messages to Store table
if (!$installer->tableExists('makarovsoft_email_message_store')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_message_store'));
$table->addColumn(
'message_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Message ID'
)
->addColumn(
'store_id',
Table::TYPE_SMALLINT,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Store ID'
)
->addIndex(
$installer->getIdxName('makarovsoft_email_message_store', ['store_id']),
['store_id']
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_message_store', 'message_id', 'makarovsoft_email_message', 'message_id'),
'message_id',
$installer->getTable('makarovsoft_email_message'),
'message_id',
Table::ACTION_CASCADE
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_message_store', 'store_id', 'store', 'store_id'),
'store_id',
$installer->getTable('store'),
'store_id',
Table::ACTION_CASCADE
)
->setComment('Message To Store Link Table');
$installer->getConnection()->createTable($table);
}
/*
* Template
*/
if (!$installer->tableExists('makarovsoft_email_template')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_template'));
$table->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true
],
'Template ID'
)
->addColumn(
'name',
Table::TYPE_TEXT,
255,
['nullable' => false,],
'Template Name'
)
->addColumn(
'subject',
Table::TYPE_TEXT,
1024,
['nullable' => false,],
'Template Name'
)
->addColumn(
'body',
Table::TYPE_TEXT,
'2M',
[],
'Template Biography'
)
->addColumn(
'recepients',
Table::TYPE_TEXT,
'2M',
[],
'Template Biography'
)
->addColumn(
'is_active',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Template Active'
)
->addColumn(
'sort_order',
Table::TYPE_INTEGER,
null,
[
'nullable' => false,
'default' => '1',
],
'Is Template Active'
)
->addColumn(
'updated_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
'Update at'
)
->addColumn(
'created_at',
Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Creation Time'
)
->setComment('Email templates');
$installer->getConnection()->createTable($table);
$installer->getConnection()->addIndex(
$installer->getTable('makarovsoft_email_template'),
$setup->getIdxName(
$installer->getTable('makarovsoft_email_template'),
['name','photo'],
AdapterInterface::INDEX_TYPE_FULLTEXT
),
[
'name',
],
AdapterInterface::INDEX_TYPE_FULLTEXT
);
}
//Create Templates to Store table
if (!$installer->tableExists('makarovsoft_email_template_store')) {
$table = $installer->getConnection()
->newTable($installer->getTable('makarovsoft_email_template_store'));
$table->addColumn(
'template_id',
Table::TYPE_INTEGER,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Template ID'
)
->addColumn(
'store_id',
Table::TYPE_SMALLINT,
null,
[
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'Store ID'
)
->addIndex(
$installer->getIdxName('makarovsoft_email_template_store', ['store_id']),
['store_id']
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_template_store', 'template_id', 'makarovsoft_email_template', 'template_id'),
'template_id',
$installer->getTable('makarovsoft_email_template'),
'template_id',
Table::ACTION_CASCADE
)
->addForeignKey(
$installer->getFkName('makarovsoft_email_template_store', 'store_id', 'store', 'store_id'),
'store_id',
$installer->getTable('store'),
'store_id',
Table::ACTION_CASCADE
)
->setComment('Template To Store Link Table');
$installer->getConnection()->createTable($table);
}
}
}