| Current Path : /var/www/magento.test.indacotrentino.com/www/app/code/Ashsmith/Blog/Setup/ |
| Current File : /var/www/magento.test.indacotrentino.com/www/app/code/Ashsmith/Blog/Setup/InstallSchema.php |
<?php namespace Ashsmith\Blog\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
class InstallSchema implements InstallSchemaInterface
{
/**
* Installs DB schema for a module
*
* @param SchemaSetupInterface $setup
* @param ModuleContextInterface $context
* @return void
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
$table = $installer->getConnection()
->newTable($installer->getTable('ashsmith_blog_post'))
->addColumn(
'post_id',
Table::TYPE_SMALLINT,
null,
['identity' => true, 'nullable' => false, 'primary' => true],
'Post ID'
)
->addColumn('url_key', Table::TYPE_TEXT, 100, ['nullable' => true, 'default' => null])
->addColumn('title', Table::TYPE_TEXT, 255, ['nullable' => false], 'Blog Title')
->addColumn('content', Table::TYPE_TEXT, '2M', [], 'Blog Content')
->addColumn('image', Table::TYPE_TEXT, 255, ['nullable' => false], 'Image')
->addColumn('category', Table::TYPE_TEXT, 255, ['nullable' => false], 'Category')
->addColumn('is_active', Table::TYPE_SMALLINT, null, ['nullable' => false, 'default' => '1'], 'Is Post Active?')
->addColumn('creation_time', Table::TYPE_DATETIME, null, ['nullable' => false], 'Creation Time')
->addColumn('update_time', Table::TYPE_DATETIME, null, ['nullable' => false], 'Update Time')
->addIndex($installer->getIdxName('blog_post', ['url_key']), ['url_key'])
->setComment('Ash Smith Blog Posts');
$installer->getConnection()->createTable($table);
$installer->endSetup();
}
}