123456789101112131415161718192021222324252627282930313233343536373839 |
- <?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 $now = null
- ): string {
- $now = $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;
- }
- }
|