@@ -16,10 +16,6 @@ class DatabaseSchemaBlueprintTest extends TestCase
16
16
{
17
17
protected function setUp (): void
18
18
{
19
- $ this ->beforeApplicationDestroyed (function () {
20
- Schema::useNativeSchemaOperationsIfPossible (false );
21
- });
22
-
23
19
parent ::setUp ();
24
20
}
25
21
@@ -64,8 +60,6 @@ public function testRenamingColumnsWithoutDoctrineWorks()
64
60
$ connection = DB ::connection ();
65
61
$ schema = $ connection ->getSchemaBuilder ();
66
62
67
- $ schema ->useNativeSchemaOperationsIfPossible ();
68
-
69
63
$ base = new Blueprint ('users ' , function ($ table ) {
70
64
$ table ->renameColumn ('name ' , 'new_name ' );
71
65
});
@@ -102,8 +96,6 @@ public function testDroppingColumnsWithoutDoctrineWorks()
102
96
$ connection = DB ::connection ();
103
97
$ schema = $ connection ->getSchemaBuilder ();
104
98
105
- $ schema ->useNativeSchemaOperationsIfPossible ();
106
-
107
99
$ blueprint = new Blueprint ('users ' , function ($ table ) {
108
100
$ table ->dropColumn ('name ' );
109
101
});
@@ -116,8 +108,6 @@ public function testNativeColumnModifyingOnMySql()
116
108
$ connection = DB ::connection ();
117
109
$ schema = $ connection ->getSchemaBuilder ();
118
110
119
- $ schema ->useNativeSchemaOperationsIfPossible ();
120
-
121
111
$ blueprint = new Blueprint ('users ' , function ($ table ) {
122
112
$ table ->double ('amount ' , 6 , 2 )->nullable ()->invisible ()->after ('name ' )->change ();
123
113
$ table ->timestamp ('added_at ' , 4 )->nullable (false )->useCurrent ()->useCurrentOnUpdate ()->change ();
@@ -144,8 +134,6 @@ public function testNativeColumnModifyingOnPostgreSql()
144
134
$ connection = DB ::connection ();
145
135
$ schema = $ connection ->getSchemaBuilder ();
146
136
147
- $ schema ->useNativeSchemaOperationsIfPossible ();
148
-
149
137
$ blueprint = new Blueprint ('users ' , function ($ table ) {
150
138
$ table ->integer ('code ' )->autoIncrement ()->from (10 )->comment ('my comment ' )->change ();
151
139
});
@@ -220,8 +208,6 @@ public function testNativeColumnModifyingOnSqlServer()
220
208
$ connection = DB ::connection ();
221
209
$ schema = $ connection ->getSchemaBuilder ();
222
210
223
- $ schema ->useNativeSchemaOperationsIfPossible ();
224
-
225
211
$ blueprint = new Blueprint ('users ' , function ($ table ) {
226
212
$ table ->timestamp ('added_at ' , 4 )->nullable (false )->useCurrent ()->change ();
227
213
});
@@ -438,11 +424,7 @@ public function testAddUniqueIndexWithoutNameWorks()
438
424
439
425
$ expected = [
440
426
[
441
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
442
- 'DROP TABLE users ' ,
443
- 'CREATE TABLE users (name VARCHAR(255) DEFAULT NULL) ' ,
444
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
445
- 'DROP TABLE __temp__users ' ,
427
+ 'alter table `users` modify `name` varchar(255) null ' ,
446
428
'alter table `users` add unique `users_name_unique`(`name`) ' ,
447
429
],
448
430
];
@@ -457,13 +439,9 @@ public function testAddUniqueIndexWithoutNameWorks()
457
439
458
440
$ expected = [
459
441
[
460
-
461
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
462
- 'DROP TABLE users ' ,
463
- 'CREATE TABLE users (name VARCHAR(255) DEFAULT NULL) ' ,
464
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
465
- 'DROP TABLE __temp__users ' ,
442
+ 'alter table "users" alter column "name" type varchar(255), alter column "name" drop not null, alter column "name" drop default, alter column "name" drop identity if exists ' ,
466
443
'alter table "users" add constraint "users_name_unique" unique ("name") ' ,
444
+ 'comment on column "users"."name" is NULL ' ,
467
445
],
468
446
];
469
447
@@ -496,11 +474,8 @@ public function testAddUniqueIndexWithoutNameWorks()
496
474
497
475
$ expected = [
498
476
[
499
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
500
- 'DROP TABLE users ' ,
501
- 'CREATE TABLE users (name VARCHAR(255) DEFAULT NULL) ' ,
502
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
503
- 'DROP TABLE __temp__users ' ,
477
+ "DECLARE @sql NVARCHAR(MAX) = '';SELECT @sql += 'ALTER TABLE [dbo].[users] DROP CONSTRAINT ' + OBJECT_NAME([default_object_id]) + ';' FROM sys.columns WHERE [object_id] = OBJECT_ID('[dbo].[users]') AND [name] in ('name') AND [default_object_id] <> 0;EXEC(@sql) " ,
478
+ 'alter table "users" alter column "name" nvarchar(255) null ' ,
504
479
'create unique index "users_name_unique" on "users" ("name") ' ,
505
480
],
506
481
];
@@ -522,11 +497,7 @@ public function testAddUniqueIndexWithNameWorks()
522
497
523
498
$ expected = [
524
499
[
525
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
526
- 'DROP TABLE users ' ,
527
- 'CREATE TABLE users (name VARCHAR(255) DEFAULT NULL) ' ,
528
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
529
- 'DROP TABLE __temp__users ' ,
500
+ 'alter table `users` modify `name` varchar(255) null ' ,
530
501
'alter table `users` add unique `index1`(`name`) ' ,
531
502
],
532
503
];
@@ -540,12 +511,9 @@ public function testAddUniqueIndexWithNameWorks()
540
511
$ queries = $ blueprintPostgres ->toSql (DB ::connection (), new PostgresGrammar );
541
512
542
513
$ expected = [
543
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
544
- 'DROP TABLE users ' ,
545
- 'CREATE TABLE users (name INTEGER UNSIGNED DEFAULT NULL) ' ,
546
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
547
- 'DROP TABLE __temp__users ' ,
514
+ 'alter table "users" alter column "name" type integer, alter column "name" drop not null, alter column "name" drop default, alter column "name" drop identity if exists ' ,
548
515
'alter table "users" add constraint "index1" unique ("name") ' ,
516
+ 'comment on column "users"."name" is NULL ' ,
549
517
];
550
518
551
519
$ this ->assertEquals ($ expected , $ queries );
@@ -574,11 +542,8 @@ public function testAddUniqueIndexWithNameWorks()
574
542
$ queries = $ blueprintSqlServer ->toSql (DB ::connection (), new SqlServerGrammar );
575
543
576
544
$ expected = [
577
- 'CREATE TEMPORARY TABLE __temp__users AS SELECT name FROM users ' ,
578
- 'DROP TABLE users ' ,
579
- 'CREATE TABLE users (name INTEGER UNSIGNED DEFAULT NULL) ' ,
580
- 'INSERT INTO users (name) SELECT name FROM __temp__users ' ,
581
- 'DROP TABLE __temp__users ' ,
545
+ "DECLARE @sql NVARCHAR(MAX) = '';SELECT @sql += 'ALTER TABLE [dbo].[users] DROP CONSTRAINT ' + OBJECT_NAME([default_object_id]) + ';' FROM sys.columns WHERE [object_id] = OBJECT_ID('[dbo].[users]') AND [name] in ('name') AND [default_object_id] <> 0;EXEC(@sql) " ,
546
+ 'alter table "users" alter column "name" int null ' ,
582
547
'create unique index "index1" on "users" ("name") ' ,
583
548
];
584
549
0 commit comments