27 lines
943 B
PHP
27 lines
943 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
final class ImportGroupingDecisions extends AbstractMigration
|
|
{
|
|
public function up(): void
|
|
{
|
|
$this->table('import_jobs_decisions', ['id' => false, 'primary_key' => ['job_id', 'source_path']])
|
|
->addColumn('job_id', 'integer', ['signed' => false])
|
|
->addColumn('source_path', 'text')
|
|
->addColumn('model_id', 'integer', ['signed' => false])
|
|
->addColumn('context', 'jsonb', ['default' => '{}'])
|
|
->addColumn('created_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP'])
|
|
->addForeignKey('job_id', 'import_jobs', 'id', ['delete' => 'CASCADE', 'update' => 'NO_ACTION'])
|
|
->addIndex(['model_id'], ['name' => 'idx_import_decisions_model'])
|
|
->create();
|
|
}
|
|
|
|
public function down(): void
|
|
{
|
|
$this->table('import_jobs_decisions')->drop()->save();
|
|
}
|
|
}
|