<?php
declare(strict_types=1);

use Migrations\BaseMigration;

class CreatePageContentTables extends BaseMigration
{
    public function change(): void
    {
        $offerings = $this->table('offerings');
        $offerings
            ->addColumn('title', 'string', ['limit' => 100, 'null' => false])
            ->addColumn('headline', 'string', ['limit' => 255, 'null' => false])
            ->addColumn('summary', 'text', ['null' => false])
            ->addColumn('sort_order', 'integer', ['default' => 0, 'null' => false])
            ->addColumn('created', 'datetime', ['null' => false])
            ->addColumn('modified', 'datetime', ['null' => false])
            ->create();

        $benefits = $this->table('benefits');
        $benefits
            ->addColumn('title', 'string', ['limit' => 160, 'null' => false])
            ->addColumn('summary', 'text', ['null' => false])
            ->addColumn('sort_order', 'integer', ['default' => 0, 'null' => false])
            ->addColumn('created', 'datetime', ['null' => false])
            ->addColumn('modified', 'datetime', ['null' => false])
            ->create();

        $journeySteps = $this->table('journey_steps');
        $journeySteps
            ->addColumn('title', 'string', ['limit' => 160, 'null' => false])
            ->addColumn('summary', 'text', ['null' => false])
            ->addColumn('sort_order', 'integer', ['default' => 0, 'null' => false])
            ->addColumn('created', 'datetime', ['null' => false])
            ->addColumn('modified', 'datetime', ['null' => false])
            ->create();
    }
}
