HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //var/www/payments-gateway/vendor/doctrine/migrations/src/Generator/ConcatenationFileBuilder.php
<?php

declare(strict_types=1);

namespace Doctrine\Migrations\Generator;

use DateTimeImmutable;
use DateTimeInterface;
use Doctrine\Migrations\Query\Query;

use function sprintf;

/**
 * The ConcatenationFileBuilder class is responsible for building a migration SQL file from an array of queries per version.
 *
 * @internal
 */
final class ConcatenationFileBuilder implements FileBuilder
{
    /** @param array<string,Query[]> $queriesByVersion */
    public function buildMigrationFile(
        array $queriesByVersion,
        string $direction,
        DateTimeInterface|null $now = null,
    ): string {
        $now  ??= new DateTimeImmutable();
        $string = sprintf("-- Doctrine Migration File Generated on %s\n", $now->format('Y-m-d H:i:s'));

        foreach ($queriesByVersion as $version => $queries) {
            $string .= "\n-- Version " . $version . "\n";

            foreach ($queries as $query) {
                $string .= $query->getStatement() . ";\n";
            }
        }

        return $string;
    }
}