diff --git a/CHANGELOG.md b/CHANGELOG.md index 551c2a18a..6a2ad221d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,7 +44,7 @@ - New #864, #897, #898, #950, #1009: Realize column factory (@Tigrov, @vjik) - Enh #875: Ignore "Packets out of order..." warnings in `AbstractPdoCommand::internalExecute()` method (@Tigrov) - Enh #877: Separate column type constants (@Tigrov) -- New #878: Realize `ColumnBuilder` class (@Tigrov) +- New #878, #1094: Realize `ColumnBuilder` class (@Tigrov, @vjik) - New #773: Add parameters `$ifExists` and `$cascade` to `CommandInterface::dropTable()` and `DDLQueryBuilderInterface::dropTable()` methods (@vjik) - New #878, #900, #914, #922: Implement `ColumnDefinitionParser` class (@Tigrov) diff --git a/src/Schema/Column/ColumnBuilder.php b/src/Schema/Column/ColumnBuilder.php index 99b7ee34b..cd948f207 100644 --- a/src/Schema/Column/ColumnBuilder.php +++ b/src/Schema/Column/ColumnBuilder.php @@ -100,9 +100,11 @@ public static function integer(?int $size = null): ColumnInterface /** * Builds a column with the abstract type `bigint`. */ - public static function bigint(?int $size = null): ColumnInterface + public static function bigint(?int $size = null, bool $unsigned = false): ColumnInterface { - return new IntegerColumn(ColumnType::BIGINT, size: $size); + return PHP_INT_SIZE === 4 || $unsigned + ? new BigIntColumn(ColumnType::BIGINT, size: $size, unsigned: $unsigned) + : new IntegerColumn(ColumnType::BIGINT, size: $size, unsigned: $unsigned); } /**