Skip to content

Commit fb4c084

Browse files
authored
Improve Oracle column type (yiisoft#735)
1 parent 7921d44 commit fb4c084

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

tests/Provider/ColumnTypes.php

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ public function getColumnTypes(): array
198198
'mysql' => 'datetime(0) NOT NULL',
199199
'pgsql' => 'timestamp(0) NOT NULL',
200200
'sqlite' => 'datetime NOT NULL',
201-
'oci' => 'TIMESTAMP NOT NULL',
201+
'oci' => 'TIMESTAMP(0) NOT NULL',
202202
'sqlsrv' => 'datetime NOT NULL',
203203
],
204204
],
@@ -208,7 +208,7 @@ public function getColumnTypes(): array
208208
'mysql' => 'datetime(0)',
209209
'pgsql' => 'timestamp(0)',
210210
'sqlite' => 'datetime',
211-
'oci' => 'TIMESTAMP',
211+
'oci' => 'TIMESTAMP(0)',
212212
'sqlsrv' => 'datetime',
213213
],
214214
],
@@ -218,7 +218,7 @@ public function getColumnTypes(): array
218218
'mysql' => 'decimal(10,0) CHECK (value > 5.6)',
219219
'pgsql' => 'numeric(10,0) CHECK (value > 5.6)',
220220
'sqlite' => 'decimal(10,0) CHECK (value > 5.6)',
221-
'oci' => 'NUMBER CHECK (value > 5.6)',
221+
'oci' => 'NUMBER(10,0) CHECK (value > 5.6)',
222222
'sqlsrv' => 'decimal(18,0) CHECK (value > 5.6)',
223223
],
224224
],
@@ -228,7 +228,7 @@ public function getColumnTypes(): array
228228
'mysql' => 'decimal(10,0) NOT NULL',
229229
'pgsql' => 'numeric(10,0) NOT NULL',
230230
'sqlite' => 'decimal(10,0) NOT NULL',
231-
'oci' => 'NUMBER NOT NULL',
231+
'oci' => 'NUMBER(10,0) NOT NULL',
232232
'sqlsrv' => 'decimal(18,0) NOT NULL',
233233
],
234234
],
@@ -238,7 +238,7 @@ public function getColumnTypes(): array
238238
'mysql' => 'decimal(12,4) CHECK (value > 5.6)',
239239
'pgsql' => 'numeric(12,4) CHECK (value > 5.6)',
240240
'sqlite' => 'decimal(12,4) CHECK (value > 5.6)',
241-
'oci' => 'NUMBER CHECK (value > 5.6)',
241+
'oci' => 'NUMBER(12,4) CHECK (value > 5.6)',
242242
'sqlsrv' => 'decimal(12,4) CHECK (value > 5.6)',
243243
],
244244
],
@@ -248,7 +248,7 @@ public function getColumnTypes(): array
248248
'mysql' => 'decimal(12,4)',
249249
'pgsql' => 'numeric(12,4)',
250250
'sqlite' => 'decimal(12,4)',
251-
'oci' => 'NUMBER',
251+
'oci' => 'NUMBER(12,4)',
252252
'sqlsrv' => 'decimal(12,4)',
253253
],
254254
],
@@ -258,7 +258,7 @@ public function getColumnTypes(): array
258258
'mysql' => 'decimal(10,0)',
259259
'pgsql' => 'numeric(10,0)',
260260
'sqlite' => 'decimal(10,0)',
261-
'oci' => 'NUMBER',
261+
'oci' => 'NUMBER(10,0)',
262262
'sqlsrv' => 'decimal(18,0)',
263263
],
264264
],
@@ -268,7 +268,7 @@ public function getColumnTypes(): array
268268
'mysql' => 'double CHECK (value > 5.6)',
269269
'pgsql' => 'double precision CHECK (value > 5.6)',
270270
'sqlite' => 'double CHECK (value > 5.6)',
271-
'oci' => 'NUMBER CHECK (value > 5.6)',
271+
'oci' => 'BINARY_DOUBLE CHECK (value > 5.6)',
272272
'sqlsrv' => 'float CHECK (value > 5.6)',
273273
],
274274
],
@@ -278,7 +278,7 @@ public function getColumnTypes(): array
278278
'mysql' => 'double NOT NULL',
279279
'pgsql' => 'double precision NOT NULL',
280280
'sqlite' => 'double NOT NULL',
281-
'oci' => 'NUMBER NOT NULL',
281+
'oci' => 'BINARY_DOUBLE NOT NULL',
282282
'sqlsrv' => 'float NOT NULL',
283283
],
284284
],
@@ -288,7 +288,7 @@ public function getColumnTypes(): array
288288
'mysql' => 'double CHECK (value > 5.6)',
289289
'pgsql' => 'double precision CHECK (value > 5.6)',
290290
'sqlite' => 'double CHECK (value > 5.6)',
291-
'oci' => 'NUMBER CHECK (value > 5.6)',
291+
'oci' => 'BINARY_DOUBLE CHECK (value > 5.6)',
292292
'sqlsrv' => 'float CHECK (value > 5.6)',
293293
],
294294
],
@@ -297,7 +297,7 @@ public function getColumnTypes(): array
297297
[
298298
'mysql' => 'double',
299299
'sqlite' => 'double',
300-
'oci' => 'NUMBER',
300+
'oci' => 'BINARY_DOUBLE',
301301
'sqlsrv' => 'float',
302302
],
303303
],
@@ -307,7 +307,7 @@ public function getColumnTypes(): array
307307
'mysql' => 'double',
308308
'pgsql' => 'double precision',
309309
'sqlite' => 'double',
310-
'oci' => 'NUMBER',
310+
'oci' => 'BINARY_DOUBLE',
311311
'sqlsrv' => 'float',
312312
],
313313
],
@@ -317,7 +317,7 @@ public function getColumnTypes(): array
317317
'mysql' => 'float CHECK (value > 5.6)',
318318
'pgsql' => 'double precision CHECK (value > 5.6)',
319319
'sqlite' => 'float CHECK (value > 5.6)',
320-
'oci' => 'NUMBER CHECK (value > 5.6)',
320+
'oci' => 'BINARY_FLOAT CHECK (value > 5.6)',
321321
'sqlsrv' => 'float CHECK (value > 5.6)',
322322
],
323323
],
@@ -327,7 +327,7 @@ public function getColumnTypes(): array
327327
'mysql' => 'float NOT NULL',
328328
'pgsql' => 'double precision NOT NULL',
329329
'sqlite' => 'float NOT NULL',
330-
'oci' => 'NUMBER NOT NULL',
330+
'oci' => 'BINARY_FLOAT NOT NULL',
331331
'sqlsrv' => 'float NOT NULL',
332332
],
333333
],
@@ -337,7 +337,7 @@ public function getColumnTypes(): array
337337
'mysql' => 'float CHECK (value > 5.6)',
338338
'pgsql' => 'double precision CHECK (value > 5.6)',
339339
'sqlite' => 'float CHECK (value > 5.6)',
340-
'oci' => 'NUMBER CHECK (value > 5.6)',
340+
'oci' => 'BINARY_FLOAT CHECK (value > 5.6)',
341341
'sqlsrv' => 'float CHECK (value > 5.6)',
342342
],
343343
],
@@ -346,7 +346,7 @@ public function getColumnTypes(): array
346346
[
347347
'mysql' => 'float',
348348
'sqlite' => 'float',
349-
'oci' => 'NUMBER',
349+
'oci' => 'BINARY_FLOAT',
350350
'sqlsrv' => 'float',
351351
],
352352
],
@@ -356,7 +356,7 @@ public function getColumnTypes(): array
356356
'mysql' => 'float',
357357
'pgsql' => 'double precision',
358358
'sqlite' => 'float',
359-
'oci' => 'NUMBER',
359+
'oci' => 'BINARY_FLOAT',
360360
'sqlsrv' => 'float',
361361
],
362362
],
@@ -648,7 +648,7 @@ public function getColumnTypes(): array
648648
'mysql' => 'time(0) NOT NULL',
649649
'pgsql' => 'time(0) NOT NULL',
650650
'sqlite' => 'time NOT NULL',
651-
'oci' => 'TIMESTAMP NOT NULL',
651+
'oci' => 'INTERVAL DAY(0) TO SECOND(0) NOT NULL',
652652
'sqlsrv' => 'time NOT NULL',
653653
],
654654
],
@@ -658,7 +658,7 @@ public function getColumnTypes(): array
658658
'mysql' => 'time(0)',
659659
'pgsql' => 'time(0)',
660660
'sqlite' => 'time',
661-
'oci' => 'TIMESTAMP',
661+
'oci' => 'INTERVAL DAY(0) TO SECOND(0)',
662662
'sqlsrv' => 'time',
663663
],
664664
],
@@ -668,7 +668,7 @@ public function getColumnTypes(): array
668668
'mysql' => 'timestamp(0) NOT NULL',
669669
'pgsql' => 'timestamp(0) NOT NULL',
670670
'sqlite' => 'timestamp NOT NULL',
671-
'oci' => 'TIMESTAMP NOT NULL',
671+
'oci' => 'TIMESTAMP(0) NOT NULL',
672672
'sqlsrv' => 'datetime NOT NULL',
673673
],
674674
],
@@ -685,6 +685,7 @@ public function getColumnTypes(): array
685685
SchemaInterface::TYPE_TIMESTAMP . '(4)',
686686
[
687687
'pgsql' => 'timestamp(4)',
688+
'oci' => 'TIMESTAMP(4)',
688689
],
689690
],
690691
'$this->timestamp()' => [
@@ -697,7 +698,7 @@ public function getColumnTypes(): array
697698
*/
698699
'pgsql' => 'timestamp(0)',
699700
'sqlite' => 'timestamp',
700-
'oci' => 'TIMESTAMP',
701+
'oci' => 'TIMESTAMP(0)',
701702
'sqlsrv' => 'datetime',
702703
],
703704
],

0 commit comments

Comments
 (0)