|
16 | 16 | use Doctrine\Common\EventManager;
|
17 | 17 | use Doctrine\DBAL\DriverManager;
|
18 | 18 | use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory;
|
| 19 | +use Doctrine\DBAL\Types\BigIntType; |
19 | 20 | use Doctrine\DBAL\Types\Type as DBALType;
|
20 | 21 | use Doctrine\ORM\EntityManager;
|
21 | 22 | use Doctrine\ORM\Mapping\Column;
|
@@ -162,10 +163,17 @@ public function testExtractEnum()
|
162 | 163 |
|
163 | 164 | public static function typesProvider(): array
|
164 | 165 | {
|
| 166 | + // DBAL 4 has a special fallback strategy for BINGINT (int -> string) |
| 167 | + if (!method_exists(BigIntType::class, 'getName')) { |
| 168 | + $expectedBingIntType = [new Type(Type::BUILTIN_TYPE_INT), new Type(Type::BUILTIN_TYPE_STRING)]; |
| 169 | + } else { |
| 170 | + $expectedBingIntType = [new Type(Type::BUILTIN_TYPE_STRING)]; |
| 171 | + } |
| 172 | + |
165 | 173 | return [
|
166 | 174 | ['id', [new Type(Type::BUILTIN_TYPE_INT)]],
|
167 | 175 | ['guid', [new Type(Type::BUILTIN_TYPE_STRING)]],
|
168 |
| - ['bigint', [new Type(Type::BUILTIN_TYPE_STRING)]], |
| 176 | + ['bigint', $expectedBingIntType], |
169 | 177 | ['time', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTime')]],
|
170 | 178 | ['timeImmutable', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTimeImmutable')]],
|
171 | 179 | ['dateInterval', [new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateInterval')]],
|
|
0 commit comments