packages/sql-fixture/src/Schema/ColumnDefinition.php

1<?php
2
3declare(strict_types=1);
4
5namespace SqlFixture\Schema;
6
7/**
8 * Describes one SQL column, including its type, default and constraints.
9 */
10final class ColumnDefinition
11{
12    /**
13     * @param list<string>|null $enumValues ENUM/SET values
14     */
15    public function __construct(
16        public readonly string $name,
17        public readonly string $type,
18        public readonly ?int $length = null,
19        public readonly ?int $precision = null,
20        public readonly ?int $scale = null,
21        public readonly bool $nullable = true,
22        public readonly bool $unsigned = false,
23        public readonly mixed $default = null,
24        public readonly bool $autoIncrement = false,
25        public readonly bool $generated = false,
26        public readonly ?array $enumValues = null,
27    ) {
28    }
29}
30