Skip to content

Commit 3e74451

Browse files
committed
simplify the code as text type is deprecated in SQLSRV
1 parent 5e2f5f7 commit 3e74451

File tree

4 files changed

+81
-84
lines changed

4 files changed

+81
-84
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* This file is part of CodeIgniter Queue.
7+
*
8+
* (c) CodeIgniter Foundation <[email protected]>
9+
*
10+
* For the full copyright and license information, please view
11+
* the LICENSE file that was distributed with this source code.
12+
*/
13+
14+
namespace CodeIgniter\Queue\Database\Migrations;
15+
16+
use CodeIgniter\Database\BaseConnection;
17+
use CodeIgniter\Database\Migration;
18+
19+
/**
20+
* @property BaseConnection $db
21+
*/
22+
class ChangePayloadFieldTypeInSqlsrv extends Migration
23+
{
24+
public function up(): void
25+
{
26+
if ($this->db->DBDriver === 'SQLSRV') {
27+
$fields = [
28+
'payload' => [
29+
'name' => 'payload',
30+
'type' => 'NVARCHAR',
31+
'constraint' => 'MAX',
32+
'null' => false,
33+
],
34+
];
35+
$this->forge->modifyColumn('queue_jobs', $fields);
36+
}
37+
}
38+
39+
public function down(): void
40+
{
41+
if ($this->db->DBDriver === 'SQLSRV') {
42+
$fields = [
43+
'payload' => [
44+
'name' => 'payload',
45+
'type' => 'TEXT', // already deprecated
46+
'null' => false,
47+
],
48+
];
49+
$this->forge->modifyColumn('queue_jobs', $fields);
50+
}
51+
}
52+
}

tests/DatabaseHandlerTest.php

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ public function testPush(): void
8686
$result = $handler->push('queue', 'success', ['key' => 'value']);
8787

8888
$this->assertTrue($result);
89-
$this->seeInDatabaseExtended('queue_jobs', [
90-
'queue' => 'queue',
91-
$this->field('payload') => json_encode(['job' => 'success', 'data' => ['key' => 'value']]),
92-
'available_at' => 1703859316,
89+
$this->seeInDatabase('queue_jobs', [
90+
'queue' => 'queue',
91+
'payload' => json_encode(['job' => 'success', 'data' => ['key' => 'value']]),
92+
'available_at' => 1703859316,
9393
]);
9494
}
9595

@@ -104,11 +104,11 @@ public function testPushWithPriority(): void
104104
$result = $handler->setPriority('high')->push('queue', 'success', ['key' => 'value']);
105105

106106
$this->assertTrue($result);
107-
$this->seeInDatabaseExtended('queue_jobs', [
108-
'queue' => 'queue',
109-
$this->field('payload') => json_encode(['job' => 'success', 'data' => ['key' => 'value']]),
110-
'priority' => 'high',
111-
'available_at' => 1703859316,
107+
$this->seeInDatabase('queue_jobs', [
108+
'queue' => 'queue',
109+
'payload' => json_encode(['job' => 'success', 'data' => ['key' => 'value']]),
110+
'priority' => 'high',
111+
'available_at' => 1703859316,
112112
]);
113113
}
114114

@@ -120,21 +120,21 @@ public function testPushAndPopWithPriority(): void
120120
$result = $handler->push('queue', 'success', ['key1' => 'value1']);
121121

122122
$this->assertTrue($result);
123-
$this->seeInDatabaseExtended('queue_jobs', [
124-
'queue' => 'queue',
125-
$this->field('payload') => json_encode(['job' => 'success', 'data' => ['key1' => 'value1']]),
126-
'priority' => 'low',
127-
'available_at' => 1703859316,
123+
$this->seeInDatabase('queue_jobs', [
124+
'queue' => 'queue',
125+
'payload' => json_encode(['job' => 'success', 'data' => ['key1' => 'value1']]),
126+
'priority' => 'low',
127+
'available_at' => 1703859316,
128128
]);
129129

130130
$result = $handler->setPriority('high')->push('queue', 'success', ['key2' => 'value2']);
131131

132132
$this->assertTrue($result);
133-
$this->seeInDatabaseExtended('queue_jobs', [
134-
'queue' => 'queue',
135-
$this->field('payload') => json_encode(['job' => 'success', 'data' => ['key2' => 'value2']]),
136-
'priority' => 'high',
137-
'available_at' => 1703859316,
133+
$this->seeInDatabase('queue_jobs', [
134+
'queue' => 'queue',
135+
'payload' => json_encode(['job' => 'success', 'data' => ['key2' => 'value2']]),
136+
'priority' => 'high',
137+
'available_at' => 1703859316,
138138
]);
139139

140140
$result = $handler->pop('queue', ['high', 'low']);
@@ -205,7 +205,7 @@ public function testPop(): void
205205
$result = $handler->pop('queue1', ['default']);
206206

207207
$this->assertInstanceOf(QueueJob::class, $result);
208-
$this->seeInDatabaseExtended('queue_jobs', [
208+
$this->seeInDatabase('queue_jobs', [
209209
'status' => Status::RESERVED->value,
210210
'available_at' => 1_697_269_860,
211211
]);
@@ -232,15 +232,15 @@ public function testLater(): void
232232
$handler = new DatabaseHandler($this->config);
233233
$queueJob = $handler->pop('queue1', ['default']);
234234

235-
$this->seeInDatabaseExtended('queue_jobs', [
235+
$this->seeInDatabase('queue_jobs', [
236236
'id' => 2,
237237
'status' => Status::RESERVED->value,
238238
]);
239239

240240
$result = $handler->later($queueJob, 60);
241241

242242
$this->assertTrue($result);
243-
$this->seeInDatabaseExtended('queue_jobs', [
243+
$this->seeInDatabase('queue_jobs', [
244244
'id' => 2,
245245
'status' => Status::PENDING->value,
246246
'available_at' => Time::now()->addSeconds(60)->timestamp,
@@ -264,7 +264,7 @@ public function testFailedAndKeepJob(): void
264264
$this->dontSeeInDatabase('queue_jobs', [
265265
'id' => 2,
266266
]);
267-
$this->seeInDatabaseExtended('queue_jobs_failed', [
267+
$this->seeInDatabase('queue_jobs_failed', [
268268
'id' => 2,
269269
'connection' => 'database',
270270
'queue' => 'queue1',
@@ -302,7 +302,7 @@ public function testDoneAndKeepJob(): void
302302
$result = $handler->done($queueJob, true);
303303

304304
$this->assertTrue($result);
305-
$this->seeInDatabaseExtended('queue_jobs', [
305+
$this->seeInDatabase('queue_jobs', [
306306
'id' => 2,
307307
'status' => Status::DONE->value,
308308
]);
@@ -346,10 +346,10 @@ public function testRetry(): void
346346

347347
$this->assertSame($count, 1);
348348

349-
$this->seeInDatabaseExtended('queue_jobs', [
350-
'id' => 3,
351-
'queue' => 'queue1',
352-
$this->field('payload') => json_encode(['job' => 'failure', 'data' => []]),
349+
$this->seeInDatabase('queue_jobs', [
350+
'id' => 3,
351+
'queue' => 'queue1',
352+
'payload' => json_encode(['job' => 'failure', 'data' => []]),
353353
]);
354354
$this->dontSeeInDatabase('queue_jobs_failed', [
355355
'id' => 1,
@@ -396,7 +396,7 @@ public function testFlush(): void
396396
$this->dontSeeInDatabase('queue_jobs_failed', [
397397
'id' => 1,
398398
]);
399-
$this->seeInDatabaseExtended('queue_jobs_failed', [
399+
$this->seeInDatabase('queue_jobs_failed', [
400400
'id' => 2,
401401
]);
402402
}

tests/_support/Constraints/SeeInDatabaseExtended.php

Lines changed: 0 additions & 48 deletions
This file was deleted.

tests/_support/TestCase.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use CodeIgniter\Test\CIUnitTestCase;
1818
use CodeIgniter\Test\DatabaseTestTrait;
1919
use Exception;
20-
use Tests\Support\Constraints\SeeInDatabaseExtended;
2120

2221
abstract class TestCase extends CIUnitTestCase
2322
{
@@ -43,12 +42,6 @@ protected function tearDown(): void
4342
Time::setTestNow();
4443
}
4544

46-
public function seeInDatabaseExtended(string $table, array $where): void
47-
{
48-
$constraint = new SeeInDatabaseExtended($this->db, $where);
49-
$this->assertThat($table, $constraint);
50-
}
51-
5245
/**
5346
* Handle custom field type conversion for SQLSRV
5447
*/

0 commit comments

Comments
 (0)