@@ -43,35 +43,50 @@ protected function tearDown(): void
43
43
Facade::setFacadeApplication (null );
44
44
}
45
45
46
- // public function testRenamingAndChangingColumnsWork()
47
- // {
48
- // $this->db->connection()->getSchemaBuilder()->create('users', function ($table) {
49
- // $table->string('name');
50
- // $table->string('age');
51
- // });
52
-
53
- // $blueprint = new Blueprint('users', function ($table) {
54
- // $table->renameColumn('name', 'first_name');
55
- // $table->integer('age')->change();
56
- // });
57
-
58
- // $queries = $blueprint->toSql($this->db->connection(), new SQLiteGrammar);
59
-
60
- // $expected = [
61
- // 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
62
- // 'DROP TABLE users',
63
- // 'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL)',
64
- // 'INSERT INTO users (name, age) SELECT name, age FROM __temp__users',
65
- // 'DROP TABLE __temp__users',
66
- // 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
67
- // 'DROP TABLE users',
68
- // 'CREATE TABLE users (age VARCHAR(255) NOT NULL COLLATE BINARY, first_name VARCHAR(255) NOT NULL)',
69
- // 'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users',
70
- // 'DROP TABLE __temp__users',
71
- // ];
72
-
73
- // $this->assertEquals($expected, $queries);
74
- // }
46
+ public function testRenamingAndChangingColumnsWork ()
47
+ {
48
+ $ this ->db ->connection ()->getSchemaBuilder ()->create ('users ' , function ($ table ) {
49
+ $ table ->string ('name ' );
50
+ $ table ->string ('age ' );
51
+ });
52
+
53
+ $ blueprint = new Blueprint ('users ' , function ($ table ) {
54
+ $ table ->renameColumn ('name ' , 'first_name ' );
55
+ $ table ->integer ('age ' )->change ();
56
+ });
57
+
58
+ $ queries = $ blueprint ->toSql ($ this ->db ->connection (), new SQLiteGrammar );
59
+
60
+ // Expect one of the following two query sequences to be present...
61
+ $ expected = [
62
+ [
63
+ 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users ' ,
64
+ 'DROP TABLE users ' ,
65
+ 'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL) ' ,
66
+ 'INSERT INTO users (name, age) SELECT name, age FROM __temp__users ' ,
67
+ 'DROP TABLE __temp__users ' ,
68
+ 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users ' ,
69
+ 'DROP TABLE users ' ,
70
+ 'CREATE TABLE users (age VARCHAR(255) NOT NULL COLLATE BINARY, first_name VARCHAR(255) NOT NULL) ' ,
71
+ 'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users ' ,
72
+ 'DROP TABLE __temp__users ' ,
73
+ ],
74
+ [
75
+ 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users ' ,
76
+ 'DROP TABLE users ' ,
77
+ 'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL) ' ,
78
+ 'INSERT INTO users (name, age) SELECT name, age FROM __temp__users ' ,
79
+ 'DROP TABLE __temp__users ' ,
80
+ 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users ' ,
81
+ 'DROP TABLE users ' ,
82
+ 'CREATE TABLE users (first_name VARCHAR(255) NOT NULL, age VARCHAR(255) NOT NULL COLLATE BINARY) ' ,
83
+ 'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users ' ,
84
+ 'DROP TABLE __temp__users ' ,
85
+ ],
86
+ ];
87
+
88
+ $ this ->assertTrue (in_array ($ queries , $ expected ));
89
+ }
75
90
76
91
public function testChangingColumnWithCollationWorks ()
77
92
{
0 commit comments