set('schema_use_int_width', null); $mysqlDBdummy = new MySQLDBDummy('8.0.16-standard'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mysqlDBdummy); $this->assertEquals( 'tinyint(1) unsigned not null', $mgr->boolean([]), 'mysql 8.0.16 boolean has width' ); $this->assertEquals( 'int(11) not null', $mgr->int([]), 'mysql 8.0.16 int has width' ); $this->assertEquals( 'bigint(20) not null', $mgr->bigint([]), 'mysql 8.0.16 bigint has width' ); $this->assertEquals( 'int(11) not null auto_increment', $mgr->IdColumn([]), 'mysql 8.0.16 IdColumn has width' ); } public function testMYSQL_8_0_17() { Config::forClass(MySQLSchemaManager::class)->set('schema_use_int_width', null); $mysqlDBdummy = new MySQLDBDummy('8.0.17'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mysqlDBdummy); $this->assertEquals( 'tinyint unsigned not null', $mgr->boolean([]), 'mysql 8.0.17 boolean has no width' ); $this->assertEquals( 'int not null', $mgr->int([]), 'mysql 8.0.17 int has no width' ); $this->assertEquals( 'bigint not null', $mgr->bigint([]), 'mysql 8.0.17 bigint has no width' ); $this->assertEquals( 'int not null auto_increment', $mgr->IdColumn([]), 'mysql 8.0.17 IdColumn has no width' ); } public function testMariaDB() { Config::forClass(MySQLSchemaManager::class)->set('schema_use_int_width', null); $mariaDBdummy = new MySQLDBDummy('10.4.7-MariaDB'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mariaDBdummy); $this->assertEquals( 'tinyint(1) unsigned not null', $mgr->boolean([]), 'mariadb boolean has width' ); $this->assertEquals( 'int(11) not null', $mgr->int([]), 'mariadb int has width' ); $this->assertEquals( 'bigint(20) not null', $mgr->bigint([]), 'mariadb bigint has width' ); $this->assertEquals( 'int(11) not null auto_increment', $mgr->IdColumn([]), 'mariadb IdColumn has width' ); } public function testMySQLForcedON() { Config::forClass(MySQLSchemaManager::class)->set('schema_use_int_width', true); $mysqlDBdummy = new MySQLDBDummy('8.0.17-standard'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mysqlDBdummy); $this->assertEquals( 'tinyint(1) unsigned not null', $mgr->boolean([]), 'mysql 8.0.17 boolean forced on has width' ); $this->assertEquals( 'int(11) not null', $mgr->int([]), 'mysql 8.0.17 int forced on has width' ); $this->assertEquals( 'bigint(20) not null', $mgr->bigint([]), 'mysql 8.0.17 bigint forced on has width' ); $this->assertEquals( 'int(11) not null auto_increment', $mgr->IdColumn([]), 'mysql 8.0.17 IdColumn forced on has width' ); } public function testMySQLForcedOFF() { Config::forClass(MySQLSchemaManager::class)->set('schema_use_int_width', false); $mysqlDBdummy = new MySQLDBDummy('8.0.16-standard'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mysqlDBdummy); $this->assertEquals( 'tinyint unsigned not null', $mgr->boolean([]), 'mysql 8.0.16 boolean forced off has no width' ); $this->assertEquals( 'int not null', $mgr->int([]), 'mysql 8.0.16 int forced off has no width' ); $this->assertEquals( 'bigint not null', $mgr->bigint([]), 'mysql 8.0.16 bigint forced off has no width' ); $this->assertEquals( 'int not null auto_increment', $mgr->IdColumn([]), 'mysql 8.0.16 IdColumn forced off has no width' ); } public function testMariaDBForcedOFF() { Config::forClass(MySQLSchemaManager::class)->set('schema_use_int_width', false); $mysqlDBdummy = new MySQLDBDummy('10.0.1-MariaDB'); $mgr = new MySQLSchemaManager(); $mgr->setDatabase($mysqlDBdummy); $this->assertEquals( 'tinyint unsigned not null', $mgr->boolean([]), 'mariadb boolean forced off has no width' ); $this->assertEquals( 'int not null', $mgr->int([]), 'mariadb int forced off has no width' ); $this->assertEquals( 'bigint not null', $mgr->bigint([]), 'mariadb bigint forced off has no width' ); $this->assertEquals( 'int not null auto_increment', $mgr->IdColumn([]), 'mariadb IdColumn forced off has no width' ); } }