<?php
use Migrations\AbstractMigration;
class ContactsInitialMigration extends AbstractMigration
{
public function up()
{
$this->table('contacts')
->addColumn('title', 'string', [
'default' => null,
'limit' => 255,
'null' => false,
])
->addColumn('alias', 'string', [
'default' => null,
'limit' => 255,
'null' => false,
])
->addColumn('body', 'text', [
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('name', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('position', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('address', 'text', [
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('address2', 'text', [
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('state', 'string', [
'default' => null,
'limit' => 100,
'null' => true,
])
->addColumn('country', 'string', [
'default' => null,
'limit' => 100,
'null' => true,
])
->addColumn('postcode', 'string', [
'default' => null,
'limit' => 100,
'null' => true,
])
->addColumn('phone', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('fax', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('email', 'string', [
'default' => null,
'limit' => 100,
'null' => true,
])
->addColumn('message_status', 'boolean', [
'default' => true,
'limit' => null,
'null' => false,
])
->addColumn('message_archive', 'boolean', [
'default' => true,
'limit' => null,
'null' => false,
])
->addColumn('message_count', 'integer', [
'default' => 0,
'limit' => 11,
'null' => false,
])
->addColumn('message_spam_protection', 'boolean', [
'default' => false,
'limit' => null,
'null' => false,
])
->addColumn('message_captcha', 'boolean', [
'default' => false,
'limit' => null,
'null' => false,
])
->addColumn('message_notify', 'boolean', [
'default' => true,
'limit' => null,
'null' => false,
])
->addColumn('status', 'boolean', [
'default' => true,
'limit' => null,
'null' => false,
])
->addTimestamps('created', 'updated')
->addColumn('created_by', 'integer', [
'default' => null,
'limit' => 20,
'null' => false,
])
->addColumn('updated_by', 'integer', [
'default' => null,
'limit' => 20,
'null' => true,
])
->create();
$this->table('messages')
->addColumn('contact_id', 'integer', [
'default' => null,
'limit' => 11,
'null' => false,
])
->addColumn('name', 'string', [
'default' => null,
'limit' => 100,
'null' => false,
])
->addColumn('email', 'string', [
'default' => null,
'limit' => 100,
'null' => false,
])
->addColumn('title', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('body', 'text', [
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('website', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('phone', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('address', 'text', [
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('message_type', 'string', [
'default' => null,
'limit' => 255,
'null' => true,
])
->addColumn('status', 'boolean', [
'default' => false,
'limit' => null,
'null' => false,
])
->addTimestamps('created', 'updated')
->addColumn('updated_by', 'integer', [
'default' => null,
'limit' => 20,
'null' => true,
])
->addColumn('created_by', 'integer', [
'default' => null,
'limit' => 20,
'null' => true,
])
->addForeignKey('contact_id', 'contacts', ['id'], [
'constraint' => 'fk_messages2contacts',
'delete' => 'RESTRICT',
])
->create();
}
public function down()
{
$this->table('contacts')->drop()->save();
$this->table('messages')->drop()->save();
}
}