Skip to content

Commit cc5b6cc

Browse files
authored
Merge pull request #958 from cakephp/5.x-constants
Constants cleanup.
2 parents 1d8f683 + d89c3cf commit cc5b6cc

File tree

11 files changed

+259
-132
lines changed

11 files changed

+259
-132
lines changed

src/Db/Adapter/AbstractAdapter.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -976,10 +976,10 @@ public function castToBool($value): mixed
976976
protected function getDefaultValueDefinition(mixed $default, ?string $columnType = null): string
977977
{
978978
$datetimeTypes = [
979-
static::PHINX_TYPE_DATETIME,
980-
static::PHINX_TYPE_TIMESTAMP,
981-
static::PHINX_TYPE_TIME,
982-
static::PHINX_TYPE_DATE,
979+
static::TYPE_DATETIME,
980+
static::TYPE_TIMESTAMP,
981+
static::TYPE_TIME,
982+
static::TYPE_DATE,
983983
];
984984

985985
if ($default instanceof Literal) {
@@ -994,7 +994,7 @@ protected function getDefaultValueDefinition(mixed $default, ?string $columnType
994994
$default = $this->quoteString($default);
995995
} elseif (is_bool($default)) {
996996
$default = $this->castToBool($default);
997-
} elseif ($default !== null && $columnType === static::PHINX_TYPE_BOOLEAN) {
997+
} elseif ($default !== null && $columnType === static::TYPE_BOOLEAN) {
998998
$default = $this->castToBool((bool)$default);
999999
}
10001000

src/Db/Adapter/AdapterInterface.php

Lines changed: 161 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -27,51 +27,177 @@
2727
*/
2828
interface AdapterInterface
2929
{
30-
public const PHINX_TYPE_STRING = TableSchemaInterface::TYPE_STRING;
31-
public const PHINX_TYPE_CHAR = TableSchemaInterface::TYPE_CHAR;
32-
public const PHINX_TYPE_TEXT = TableSchemaInterface::TYPE_TEXT;
33-
public const PHINX_TYPE_INTEGER = TableSchemaInterface::TYPE_INTEGER;
34-
public const PHINX_TYPE_TINY_INTEGER = TableSchemaInterface::TYPE_TINYINTEGER;
35-
public const PHINX_TYPE_SMALL_INTEGER = TableSchemaInterface::TYPE_SMALLINTEGER;
36-
public const PHINX_TYPE_BIG_INTEGER = TableSchemaInterface::TYPE_BIGINTEGER;
37-
public const PHINX_TYPE_FLOAT = TableSchemaInterface::TYPE_FLOAT;
38-
public const PHINX_TYPE_DECIMAL = TableSchemaInterface::TYPE_DECIMAL;
39-
public const PHINX_TYPE_DATETIME = TableSchemaInterface::TYPE_DATETIME;
40-
public const PHINX_TYPE_TIMESTAMP = TableSchemaInterface::TYPE_TIMESTAMP;
41-
public const PHINX_TYPE_TIME = TableSchemaInterface::TYPE_TIME;
42-
public const PHINX_TYPE_DATE = TableSchemaInterface::TYPE_DATE;
43-
public const PHINX_TYPE_BINARY = TableSchemaInterface::TYPE_BINARY;
44-
public const PHINX_TYPE_BINARYUUID = TableSchemaInterface::TYPE_BINARY_UUID;
45-
public const PHINX_TYPE_BOOLEAN = TableSchemaInterface::TYPE_BOOLEAN;
46-
public const PHINX_TYPE_JSON = TableSchemaInterface::TYPE_JSON;
30+
public const TYPE_STRING = TableSchemaInterface::TYPE_STRING;
31+
public const TYPE_CHAR = TableSchemaInterface::TYPE_CHAR;
32+
public const TYPE_TEXT = TableSchemaInterface::TYPE_TEXT;
33+
public const TYPE_INTEGER = TableSchemaInterface::TYPE_INTEGER;
34+
public const TYPE_TINYINTEGER = TableSchemaInterface::TYPE_TINYINTEGER;
35+
public const TYPE_SMALLINTEGER = TableSchemaInterface::TYPE_SMALLINTEGER;
36+
public const TYPE_BIGINTEGER = TableSchemaInterface::TYPE_BIGINTEGER;
37+
public const TYPE_FLOAT = TableSchemaInterface::TYPE_FLOAT;
38+
public const TYPE_DECIMAL = TableSchemaInterface::TYPE_DECIMAL;
39+
public const TYPE_DATETIME = TableSchemaInterface::TYPE_DATETIME;
40+
public const TYPE_TIMESTAMP = TableSchemaInterface::TYPE_TIMESTAMP;
41+
public const TYPE_TIME = TableSchemaInterface::TYPE_TIME;
42+
public const TYPE_DATE = TableSchemaInterface::TYPE_DATE;
43+
public const TYPE_BINARY = TableSchemaInterface::TYPE_BINARY;
44+
public const TYPE_BINARY_UUID = TableSchemaInterface::TYPE_BINARY_UUID;
45+
public const TYPE_BOOLEAN = TableSchemaInterface::TYPE_BOOLEAN;
46+
public const TYPE_JSON = TableSchemaInterface::TYPE_JSON;
47+
public const TYPE_UUID = TableSchemaInterface::TYPE_UUID;
48+
public const TYPE_NATIVE_UUID = TableSchemaInterface::TYPE_NATIVE_UUID;
49+
50+
// Geospatial database types
51+
public const TYPE_GEOMETRY = TableSchemaInterface::TYPE_GEOMETRY;
52+
public const TYPE_POINT = TableSchemaInterface::TYPE_POINT;
53+
public const TYPE_LINESTRING = TableSchemaInterface::TYPE_LINESTRING;
54+
public const TYPE_POLYGON = TableSchemaInterface::TYPE_POLYGON;
55+
56+
public const TYPES_GEOSPATIAL = [
57+
self::TYPE_GEOMETRY,
58+
self::TYPE_POINT,
59+
self::TYPE_LINESTRING,
60+
self::TYPE_POLYGON,
61+
];
62+
63+
// only for mysql so far
64+
public const TYPE_YEAR = TableSchemaInterface::TYPE_YEAR;
65+
66+
// only for postgresql so far
67+
public const TYPE_CIDR = TableSchemaInterface::TYPE_CIDR;
68+
public const TYPE_INET = TableSchemaInterface::TYPE_INET;
69+
public const TYPE_MACADDR = TableSchemaInterface::TYPE_MACADDR;
70+
public const TYPE_INTERVAL = TableSchemaInterface::TYPE_INTERVAL;
71+
72+
/**
73+
* @deprecated 5.0.0 Use TYPE_STRING instead.
74+
*/
75+
public const PHINX_TYPE_STRING = self::TYPE_STRING;
76+
/**
77+
* @deprecated 5.0.0 Use TYPE_CHAR instead.
78+
*/
79+
public const PHINX_TYPE_CHAR = self::TYPE_CHAR;
80+
/**
81+
* @deprecated 5.0.0 Use TYPE_TEXT instead.
82+
*/
83+
public const PHINX_TYPE_TEXT = self::TYPE_TEXT;
84+
/**
85+
* @deprecated 5.0.0 Use TYPE_INTEGER instead.
86+
*/
87+
public const PHINX_TYPE_INTEGER = self::TYPE_INTEGER;
88+
/**
89+
* @deprecated 5.0.0 Use TYPE_TINYINTEGER instead.
90+
*/
91+
public const PHINX_TYPE_TINY_INTEGER = self::TYPE_TINYINTEGER;
92+
/**
93+
* @deprecated 5.0.0 Use TYPE_SMALLINTEGER instead.
94+
*/
95+
public const PHINX_TYPE_SMALL_INTEGER = self::TYPE_SMALLINTEGER;
96+
/**
97+
* @deprecated 5.0.0 Use TYPE_BIGINTEGER instead.
98+
*/
99+
public const PHINX_TYPE_BIG_INTEGER = self::TYPE_BIGINTEGER;
100+
/**
101+
* @deprecated 5.0.0 Use TYPE_FLOAT instead.
102+
*/
103+
public const PHINX_TYPE_FLOAT = self::TYPE_FLOAT;
104+
/**
105+
* @deprecated 5.0.0 Use TYPE_DECIMAL instead.
106+
*/
107+
public const PHINX_TYPE_DECIMAL = self::TYPE_DECIMAL;
108+
/**
109+
* @deprecated 5.0.0 Use TYPE_DATETIME instead.
110+
*/
111+
public const PHINX_TYPE_DATETIME = self::TYPE_DATETIME;
112+
/**
113+
* @deprecated 5.0.0 Use TYPE_TIMESTAMP instead.
114+
*/
115+
public const PHINX_TYPE_TIMESTAMP = self::TYPE_TIMESTAMP;
116+
/**
117+
* @deprecated 5.0.0 Use TYPE_TIME instead.
118+
*/
119+
public const PHINX_TYPE_TIME = self::TYPE_TIME;
120+
/**
121+
* @deprecated 5.0.0 Use TYPE_DATE instead.
122+
*/
123+
public const PHINX_TYPE_DATE = self::TYPE_DATE;
124+
/**
125+
* @deprecated 5.0.0 Use TYPE_BINARY instead.
126+
*/
127+
public const PHINX_TYPE_BINARY = self::TYPE_BINARY;
128+
/**
129+
* @deprecated 5.0.0 Use TYPE_BINARY_UUID instead.
130+
*/
131+
public const PHINX_TYPE_BINARYUUID = self::TYPE_BINARY_UUID;
132+
/**
133+
* @deprecated 5.0.0 Use TYPE_BOOLEAN instead.
134+
*/
135+
public const PHINX_TYPE_BOOLEAN = self::TYPE_BOOLEAN;
136+
/**
137+
* @deprecated 5.0.0 Use TYPE_JSON instead.
138+
*/
139+
public const PHINX_TYPE_JSON = self::TYPE_JSON;
47140
/**
48141
* @deprecated 5.0.0 Use TableSchemaInterface::TYPE_JSON instead.
49142
*/
50143
public const PHINX_TYPE_JSONB = 'jsonb';
51-
public const PHINX_TYPE_UUID = TableSchemaInterface::TYPE_UUID;
52-
public const PHINX_TYPE_NATIVEUUID = TableSchemaInterface::TYPE_NATIVE_UUID;
144+
/**
145+
* @deprecated 5.0.0 Use TYPE_UUID instead.
146+
*/
147+
public const PHINX_TYPE_UUID = self::TYPE_UUID;
148+
/**
149+
* @deprecated 5.0.0 Use TYPE_NATIVE_UUID instead.
150+
*/
151+
public const PHINX_TYPE_NATIVEUUID = self::TYPE_NATIVE_UUID;
53152

54-
// Geospatial database types
55-
public const PHINX_TYPE_GEOMETRY = TableSchemaInterface::TYPE_GEOMETRY;
56-
public const PHINX_TYPE_POINT = TableSchemaInterface::TYPE_POINT;
57-
public const PHINX_TYPE_LINESTRING = TableSchemaInterface::TYPE_LINESTRING;
58-
public const PHINX_TYPE_POLYGON = TableSchemaInterface::TYPE_POLYGON;
153+
/**
154+
* @deprecated 5.0.0 Use TYPE_GEOMETRY instead.
155+
*/
156+
public const PHINX_TYPE_GEOMETRY = self::TYPE_GEOMETRY;
157+
/**
158+
* @deprecated 5.0.0 Use TYPE_POINT instead.
159+
*/
160+
public const PHINX_TYPE_POINT = self::TYPE_POINT;
161+
/**
162+
* @deprecated 5.0.0 Use TYPE_LINESTRING instead.
163+
*/
164+
public const PHINX_TYPE_LINESTRING = self::TYPE_LINESTRING;
165+
/**
166+
* @deprecated 5.0.0 Use TYPE_POLYGON instead.
167+
*/
168+
public const PHINX_TYPE_POLYGON = self::TYPE_POLYGON;
59169

170+
/**
171+
* @deprecated 5.0.0 Use TYPES_GEOSPATIAL instead.
172+
*/
60173
public const PHINX_TYPES_GEOSPATIAL = [
61-
self::PHINX_TYPE_GEOMETRY,
62-
self::PHINX_TYPE_POINT,
63-
self::PHINX_TYPE_LINESTRING,
64-
self::PHINX_TYPE_POLYGON,
174+
self::TYPE_GEOMETRY,
175+
self::TYPE_POINT,
176+
self::TYPE_LINESTRING,
177+
self::TYPE_POLYGON,
65178
];
66179

67-
// only for mysql so far
68-
public const PHINX_TYPE_YEAR = TableSchemaInterface::TYPE_YEAR;
180+
/**
181+
* @deprecated 5.0.0 Use TYPE_YEAR instead.
182+
*/
183+
public const PHINX_TYPE_YEAR = self::TYPE_YEAR;
69184

70-
// only for postgresql so far
71-
public const PHINX_TYPE_CIDR = TableSchemaInterface::TYPE_CIDR;
72-
public const PHINX_TYPE_INET = TableSchemaInterface::TYPE_INET;
73-
public const PHINX_TYPE_MACADDR = TableSchemaInterface::TYPE_MACADDR;
74-
public const PHINX_TYPE_INTERVAL = TableSchemaInterface::TYPE_INTERVAL;
185+
/**
186+
* @deprecated 5.0.0 Use TYPE_CIDR instead.
187+
*/
188+
public const PHINX_TYPE_CIDR = self::TYPE_CIDR;
189+
/**
190+
* @deprecated 5.0.0 Use TYPE_INET instead.
191+
*/
192+
public const PHINX_TYPE_INET = self::TYPE_INET;
193+
/**
194+
* @deprecated 5.0.0 Use TYPE_MACADDR instead.
195+
*/
196+
public const PHINX_TYPE_MACADDR = self::TYPE_MACADDR;
197+
/**
198+
* @deprecated 5.0.0 Use TYPE_INTERVAL instead.
199+
*/
200+
public const PHINX_TYPE_INTERVAL = self::TYPE_INTERVAL;
75201

76202
/**
77203
* Get all migrated version numbers.

src/Db/Adapter/MysqlAdapter.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ class MysqlAdapter extends AbstractAdapter
3030
* @var string[]
3131
*/
3232
protected static array $specificColumnTypes = [
33-
self::PHINX_TYPE_YEAR,
34-
self::PHINX_TYPE_JSON,
35-
self::PHINX_TYPE_BINARYUUID,
33+
self::TYPE_YEAR,
34+
self::TYPE_JSON,
35+
self::TYPE_BINARY_UUID,
3636
self::PHINX_TYPE_ENUM,
3737
self::PHINX_TYPE_SET,
3838
self::PHINX_TYPE_BLOB,
@@ -281,7 +281,7 @@ public function createTable(TableMetadata $table, array $columns = [], array $in
281281
*/
282282
protected function mapColumnData(array $data): array
283283
{
284-
if ($data['type'] == self::PHINX_TYPE_TEXT && $data['length'] !== null) {
284+
if ($data['type'] == self::TYPE_TEXT && $data['length'] !== null) {
285285
$data['length'] = match ($data['length']) {
286286
self::TEXT_LONG => TableSchema::LENGTH_LONG,
287287
self::TEXT_MEDIUM => TableSchema::LENGTH_MEDIUM,
@@ -291,7 +291,7 @@ protected function mapColumnData(array $data): array
291291
};
292292
}
293293
$blobTypes = [
294-
self::PHINX_TYPE_BINARY,
294+
self::TYPE_BINARY,
295295
self::PHINX_TYPE_VARBINARY,
296296
self::PHINX_TYPE_BLOB,
297297
self::PHINX_TYPE_TINYBLOB,
@@ -322,7 +322,7 @@ protected function mapColumnData(array $data): array
322322
};
323323
}
324324
$data['type'] = 'binary';
325-
} elseif ($data['type'] === self::PHINX_TYPE_INTEGER) {
325+
} elseif ($data['type'] === self::TYPE_INTEGER) {
326326
if (isset($data['length']) && $data['length'] === self::INT_BIG) {
327327
$data['type'] = TableSchema::TYPE_BIGINTEGER;
328328
unset($data['length']);
@@ -1105,7 +1105,7 @@ public function getColumnTypes(): array
11051105
$types = array_merge(parent::getColumnTypes(), static::$specificColumnTypes);
11061106

11071107
if ($this->hasNativeUuid()) {
1108-
$types[] = self::PHINX_TYPE_NATIVEUUID;
1108+
$types[] = self::TYPE_NATIVE_UUID;
11091109
}
11101110

11111111
return $types;

src/Db/Adapter/PostgresAdapter.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ class PostgresAdapter extends AbstractAdapter
3636
* @var string[]
3737
*/
3838
protected static array $specificColumnTypes = [
39-
self::PHINX_TYPE_JSON,
39+
self::TYPE_JSON,
4040
self::PHINX_TYPE_JSONB,
41-
self::PHINX_TYPE_CIDR,
42-
self::PHINX_TYPE_INET,
43-
self::PHINX_TYPE_MACADDR,
44-
self::PHINX_TYPE_INTERVAL,
45-
self::PHINX_TYPE_BINARYUUID,
46-
self::PHINX_TYPE_NATIVEUUID,
41+
self::TYPE_CIDR,
42+
self::TYPE_INET,
43+
self::TYPE_MACADDR,
44+
self::TYPE_INTERVAL,
45+
self::TYPE_BINARY_UUID,
46+
self::TYPE_NATIVE_UUID,
4747
];
4848

4949
private const GIN_INDEX_TYPE = 'gin';
@@ -212,7 +212,7 @@ public function createTable(TableMetadata $table, array $columns = [], array $in
212212
protected function mapColumnData(array $data): array
213213
{
214214
if (
215-
$data['type'] === self::PHINX_TYPE_TIMESTAMP &&
215+
$data['type'] === self::TYPE_TIMESTAMP &&
216216
isset($data['timezone']) && $data['timezone'] === true
217217
) {
218218
$data['type'] = 'timestamptimezone';

src/Db/Adapter/SqliteAdapter.php

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,24 @@ class SqliteAdapter extends AbstractAdapter
3939
* @var string[]
4040
*/
4141
protected static array $supportedColumnTypes = [
42-
self::PHINX_TYPE_BIG_INTEGER => 'biginteger',
43-
self::PHINX_TYPE_BINARY => 'binary_blob',
44-
self::PHINX_TYPE_BINARYUUID => 'uuid_blob',
45-
self::PHINX_TYPE_BOOLEAN => 'boolean_integer',
46-
self::PHINX_TYPE_CHAR => 'char',
47-
self::PHINX_TYPE_DATE => 'date_text',
48-
self::PHINX_TYPE_DATETIME => 'datetime_text',
49-
self::PHINX_TYPE_DECIMAL => 'decimal',
50-
self::PHINX_TYPE_FLOAT => 'float',
51-
self::PHINX_TYPE_INTEGER => 'integer',
52-
self::PHINX_TYPE_JSON => 'json_text',
53-
self::PHINX_TYPE_SMALL_INTEGER => 'smallinteger',
54-
self::PHINX_TYPE_STRING => 'varchar',
55-
self::PHINX_TYPE_TEXT => 'text',
56-
self::PHINX_TYPE_TIME => 'time_text',
57-
self::PHINX_TYPE_TIMESTAMP => 'timestamp_text',
58-
self::PHINX_TYPE_TINY_INTEGER => 'tinyinteger',
59-
self::PHINX_TYPE_UUID => 'uuid_text',
42+
self::TYPE_BIGINTEGER => 'biginteger',
43+
self::TYPE_BINARY => 'binary_blob',
44+
self::TYPE_BINARY_UUID => 'uuid_blob',
45+
self::TYPE_BOOLEAN => 'boolean_integer',
46+
self::TYPE_CHAR => 'char',
47+
self::TYPE_DATE => 'date_text',
48+
self::TYPE_DATETIME => 'datetime_text',
49+
self::TYPE_DECIMAL => 'decimal',
50+
self::TYPE_FLOAT => 'float',
51+
self::TYPE_INTEGER => 'integer',
52+
self::TYPE_JSON => 'json_text',
53+
self::TYPE_SMALLINTEGER => 'smallinteger',
54+
self::TYPE_STRING => 'varchar',
55+
self::TYPE_TEXT => 'text',
56+
self::TYPE_TIME => 'time_text',
57+
self::TYPE_TIMESTAMP => 'timestamp_text',
58+
self::TYPE_TINYINTEGER => 'tinyinteger',
59+
self::TYPE_UUID => 'uuid_text',
6060
];
6161

6262
/**
@@ -449,7 +449,7 @@ protected function parseDefaultValue(mixed $default, string $columnType): mixed
449449
} elseif (preg_match('/^[+-]?\d+$/i', $default)) {
450450
$int = (int)$default;
451451
// integer literal
452-
if ($columnType === self::PHINX_TYPE_BOOLEAN && ($int === 0 || $int === 1)) {
452+
if ($columnType === self::TYPE_BOOLEAN && ($int === 0 || $int === 1)) {
453453
return (bool)$int;
454454
} else {
455455
return $int;

src/Db/Adapter/SqlserverAdapter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ class SqlserverAdapter extends AbstractAdapter
3232
* @var string[]
3333
*/
3434
protected static array $specificColumnTypes = [
35-
self::PHINX_TYPE_BINARYUUID,
36-
self::PHINX_TYPE_NATIVEUUID,
35+
self::TYPE_BINARY_UUID,
36+
self::TYPE_NATIVE_UUID,
3737
];
3838

3939
/**

src/Util/ColumnParser.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@ public function getType(string $field, ?string $type): ?string
221221
$collection = new Collection($reflector->getConstants());
222222

223223
$validTypes = $collection->filter(function ($value, $constant) {
224-
return substr($constant, 0, strlen('PHINX_TYPE_')) === 'PHINX_TYPE_';
224+
return substr($constant, 0, strlen('TYPE_')) === 'TYPE_' ||
225+
substr($constant, 0, strlen('PHINX_TYPE_')) === 'PHINX_TYPE_';
225226
})->toArray();
226227
$fieldType = $type;
227228
if ($type === null || !in_array($type, $validTypes, true)) {

0 commit comments

Comments
 (0)