48 lines
2.4 KiB
PHP
48 lines
2.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
/**
|
|
* Bozze delle newsletter scritte in YogiBook (pubblicate poi su The Newsletter)
|
|
* e storico delle versioni per non perdere mai il testo.
|
|
*/
|
|
final class CreateNewsletterDrafts extends AbstractMigration
|
|
{
|
|
public function change(): void
|
|
{
|
|
$this->table('newsletter_drafts', ['id' => 'iddraft'])
|
|
->addColumn('title', 'string', ['limit' => 255, 'default' => ''])
|
|
->addColumn('subject', 'string', ['limit' => 255, 'default' => ''])
|
|
->addColumn('preheader', 'string', ['limit' => 255, 'default' => ''])
|
|
->addColumn('blocks', 'text', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG, 'null' => true])
|
|
->addColumn('settings', 'text', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG, 'null' => true])
|
|
->addColumn('revision', 'integer', ['default' => 0, 'signed' => false])
|
|
->addColumn('wp_email_id', 'integer', ['null' => true])
|
|
->addColumn('wp_pushed_at', 'datetime', ['null' => true])
|
|
->addColumn('created_by', 'integer', ['signed' => false, 'default' => 0])
|
|
->addColumn('updated_by', 'integer', ['signed' => false, 'default' => 0])
|
|
->addColumn('created_at', 'datetime')
|
|
->addColumn('updated_at', 'datetime')
|
|
->addColumn('deleted_at', 'datetime', ['null' => true])
|
|
->addColumn('idschool', 'integer', ['signed' => false, 'default' => 1])
|
|
->addIndex(['updated_at'])
|
|
->addIndex(['idschool'])
|
|
->create();
|
|
|
|
$this->table('newsletter_draft_versions', ['id' => 'idversion'])
|
|
->addColumn('iddraft', 'integer')
|
|
->addColumn('revision', 'integer', ['signed' => false, 'default' => 0])
|
|
->addColumn('subject', 'string', ['limit' => 255, 'default' => ''])
|
|
->addColumn('preheader', 'string', ['limit' => 255, 'default' => ''])
|
|
->addColumn('blocks', 'text', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG, 'null' => true])
|
|
->addColumn('settings', 'text', ['limit' => \Phinx\Db\Adapter\MysqlAdapter::TEXT_LONG, 'null' => true])
|
|
->addColumn('note', 'string', ['limit' => 100, 'default' => ''])
|
|
->addColumn('created_by', 'integer', ['signed' => false, 'default' => 0])
|
|
->addColumn('created_at', 'datetime')
|
|
->addIndex(['iddraft', 'created_at'])
|
|
->create();
|
|
}
|
|
}
|