<?php
// CoreFlux/core/CLI/Migration.php

namespace Core\CLI;

use Doctrine\DBAL\Connection; // Import Doctrine DBAL Connection

interface Migration
{
    public function getName(): string;

    /**
     * Apply the migration (e.g., create tables, add columns).
     * @param Connection $connection The Doctrine DBAL database connection.
     * @return void
     */
    public function up(Connection $connection): void;

    /**
     * Rollback the migration (e.g., drop tables, remove columns).
     * @param Connection $connection The Doctrine DBAL database connection.
     * @return void
     */
    public function down(Connection $connection): void;
}