SchemaAlterTableChangeColumnEventArgs.php 1.43 KB
Newer Older
1 2
<?php

Michael Moravec's avatar
Michael Moravec committed
3 4
declare(strict_types=1);

5 6
namespace Doctrine\DBAL\Event;

Benjamin Morel's avatar
Benjamin Morel committed
7 8 9
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Schema\ColumnDiff;
use Doctrine\DBAL\Schema\TableDiff;
10
use function array_merge;
11 12 13 14

/**
 * Event Arguments used when SQL queries for changing table columns are generated inside Doctrine\DBAL\Platform\*Platform.
 */
jsor's avatar
jsor committed
15
class SchemaAlterTableChangeColumnEventArgs extends SchemaEventArgs
16
{
17
    /** @var ColumnDiff */
18
    private $columnDiff;
19

20
    /** @var TableDiff */
21
    private $tableDiff;
22

23
    /** @var AbstractPlatform */
24
    private $platform;
25

26
    /** @var array<int, string> */
27
    private $sql = [];
28 29 30

    public function __construct(ColumnDiff $columnDiff, TableDiff $tableDiff, AbstractPlatform $platform)
    {
31 32 33
        $this->columnDiff = $columnDiff;
        $this->tableDiff  = $tableDiff;
        $this->platform   = $platform;
34 35
    }

36
    public function getColumnDiff() : ColumnDiff
37
    {
38
        return $this->columnDiff;
39 40
    }

41
    public function getTableDiff() : TableDiff
42
    {
43
        return $this->tableDiff;
44 45
    }

46
    public function getPlatform() : AbstractPlatform
47
    {
48
        return $this->platform;
49 50 51
    }

    /**
52
     * @return $this
53
     */
54
    public function addSql(string ...$sql) : self
55
    {
56
        $this->sql = array_merge($this->sql, $sql);
57 58 59 60 61

        return $this;
    }

    /**
62
     * @return array<int, string>
63
     */
64
    public function getSql() : array
65
    {
66
        return $this->sql;
67 68
    }
}