diff --git a/framework/db/SchemaBuilderTrait.php b/framework/db/SchemaBuilderTrait.php index 3bfa404f47..336f97afcf 100644 --- a/framework/db/SchemaBuilderTrait.php +++ b/framework/db/SchemaBuilderTrait.php @@ -77,14 +77,12 @@ trait SchemaBuilderTrait /** * Creates a text column. - * @param integer $length column size definition i.e. the maximum text length. - * This parameter will be ignored if not supported by the DBMS. * @return ColumnSchemaBuilder the column instance which can be further customized. * @since 2.0.6 */ - public function text($length = null) + public function text() { - return $this->getDb()->getSchema()->createColumnSchemaBuilder(Schema::TYPE_TEXT, $length); + return $this->getDb()->getSchema()->createColumnSchemaBuilder(Schema::TYPE_TEXT); } /** diff --git a/tests/framework/db/QueryBuilderTest.php b/tests/framework/db/QueryBuilderTest.php index 22ca806804..95da34abd5 100644 --- a/tests/framework/db/QueryBuilderTest.php +++ b/tests/framework/db/QueryBuilderTest.php @@ -84,11 +84,11 @@ class QueryBuilderTest extends DatabaseTestCase [Schema::TYPE_STRING . '(32) CHECK (value LIKE "test%")', $this->string(32)->check('value LIKE "test%"'), 'varchar(32) CHECK (value LIKE "test%")'], [Schema::TYPE_STRING . ' NOT NULL', $this->string()->notNull(), 'varchar(255) NOT NULL'], [Schema::TYPE_TEXT, $this->text(), 'text'], - [Schema::TYPE_TEXT . '(255)', $this->text(255), 'text'], + [Schema::TYPE_TEXT . '(255)', $this->text(), 'text', Schema::TYPE_TEXT], [Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")'], - [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text(255)->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")'], + [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")', Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")'], [Schema::TYPE_TEXT . ' NOT NULL', $this->text()->notNull(), 'text NOT NULL'], - [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text(255)->notNull(), 'text NOT NULL'], + [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text()->notNull(), 'text NOT NULL', Schema::TYPE_TEXT . ' NOT NULL'], [Schema::TYPE_SMALLINT, $this->smallInteger(), 'smallint(6)'], [Schema::TYPE_SMALLINT . '(8)', $this->smallInteger(8), 'smallint(8)'], [Schema::TYPE_INTEGER, $this->integer(), 'int(11)'], @@ -145,10 +145,11 @@ class QueryBuilderTest extends DatabaseTestCase foreach ($this->columnTypes() as $item) { list ($column, $builder, $expected) = $item; + $expectedColumnSchemaBuilder = isset($item[3]) ? $item[3] : $column; $this->assertEquals($expected, $qb->getColumnType($column)); $this->assertEquals($expected, $qb->getColumnType($builder)); - $this->assertEquals($builder->__toString(), $column); + $this->assertEquals($expectedColumnSchemaBuilder, $builder->__toString()); } } diff --git a/tests/framework/db/cubrid/CubridQueryBuilderTest.php b/tests/framework/db/cubrid/CubridQueryBuilderTest.php index 6362d71d96..7ed7bd0cfd 100644 --- a/tests/framework/db/cubrid/CubridQueryBuilderTest.php +++ b/tests/framework/db/cubrid/CubridQueryBuilderTest.php @@ -30,11 +30,11 @@ class CubridQueryBuilderTest extends QueryBuilderTest [Schema::TYPE_STRING . '(32) CHECK (value LIKE "test%")', $this->string(32)->check('value LIKE "test%"'), 'varchar(32) CHECK (value LIKE "test%")'], [Schema::TYPE_STRING . ' NOT NULL', $this->string()->notNull(), 'varchar(255) NOT NULL'], [Schema::TYPE_TEXT, $this->text(), 'varchar'], - [Schema::TYPE_TEXT . '(255)', $this->text(255), 'varchar'], + [Schema::TYPE_TEXT . '(255)', $this->text(), 'varchar', Schema::TYPE_TEXT], [Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'varchar CHECK (value LIKE "test%")'], - [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text(255)->check('value LIKE "test%"'), 'varchar CHECK (value LIKE "test%")'], + [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'varchar CHECK (value LIKE "test%")', Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")'], [Schema::TYPE_TEXT . ' NOT NULL', $this->text()->notNull(), 'varchar NOT NULL'], - [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text(255)->notNull(), 'varchar NOT NULL'], + [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text()->notNull(), 'varchar NOT NULL', Schema::TYPE_TEXT . ' NOT NULL'], [Schema::TYPE_SMALLINT, $this->smallInteger(), 'smallint'], [Schema::TYPE_SMALLINT . '(8)', $this->smallInteger(8), 'smallint'], [Schema::TYPE_INTEGER, $this->integer(), 'int'], diff --git a/tests/framework/db/oci/OracleQueryBuilderTest.php b/tests/framework/db/oci/OracleQueryBuilderTest.php index e53b3eda30..fcba907de9 100644 --- a/tests/framework/db/oci/OracleQueryBuilderTest.php +++ b/tests/framework/db/oci/OracleQueryBuilderTest.php @@ -30,11 +30,11 @@ class OracleQueryBuilderTest extends QueryBuilderTest [Schema::TYPE_STRING . '(32) CHECK (value LIKE \'test%\')', $this->string(32)->check('value LIKE \'test%\''), 'VARCHAR2(32) CHECK (value LIKE \'test%\')'], [Schema::TYPE_STRING . ' NOT NULL', $this->string()->notNull(), 'VARCHAR2(255) NOT NULL'], [Schema::TYPE_TEXT, $this->text(), 'CLOB'], - [Schema::TYPE_TEXT . '(255)', $this->text(255), 'CLOB'], + [Schema::TYPE_TEXT . '(255)', $this->text(), 'CLOB',Schema::TYPE_TEXT], [Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')', $this->text()->check('value LIKE \'test%\''), 'CLOB CHECK (value LIKE \'test%\')'], - [Schema::TYPE_TEXT . '(255) CHECK (value LIKE \'test%\')', $this->text(255)->check('value LIKE \'test%\''), 'CLOB CHECK (value LIKE \'test%\')'], + [Schema::TYPE_TEXT . '(255) CHECK (value LIKE \'test%\')', $this->text()->check('value LIKE \'test%\''), 'CLOB CHECK (value LIKE \'test%\')', Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')'], [Schema::TYPE_TEXT . ' NOT NULL', $this->text()->notNull(), 'CLOB NOT NULL'], - [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text(255)->notNull(), 'CLOB NOT NULL'], + [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text()->notNull(), 'CLOB NOT NULL', Schema::TYPE_TEXT . ' NOT NULL'], [Schema::TYPE_SMALLINT, $this->smallInteger(), 'NUMBER(5)'], [Schema::TYPE_SMALLINT . '(8)', $this->smallInteger(8), 'NUMBER(8)'], [Schema::TYPE_INTEGER, $this->integer(), 'NUMBER(10)'], diff --git a/tests/framework/db/pgsql/PostgreSQLQueryBuilderTest.php b/tests/framework/db/pgsql/PostgreSQLQueryBuilderTest.php index 52839f17d1..3ec65d42fb 100644 --- a/tests/framework/db/pgsql/PostgreSQLQueryBuilderTest.php +++ b/tests/framework/db/pgsql/PostgreSQLQueryBuilderTest.php @@ -26,11 +26,11 @@ class PostgreSQLQueryBuilderTest extends QueryBuilderTest [Schema::TYPE_STRING . '(32) CHECK (value LIKE \'test%\')', $this->string(32)->check('value LIKE \'test%\''), 'varchar(32) CHECK (value LIKE \'test%\')'], [Schema::TYPE_STRING . ' NOT NULL', $this->string()->notNull(), 'varchar(255) NOT NULL'], [Schema::TYPE_TEXT, $this->text(), 'text'], - [Schema::TYPE_TEXT . '(255)', $this->text(255), 'text'], + [Schema::TYPE_TEXT . '(255)', $this->text(), 'text', Schema::TYPE_TEXT], [Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')', $this->text()->check('value LIKE \'test%\''), 'text CHECK (value LIKE \'test%\')'], - [Schema::TYPE_TEXT . '(255) CHECK (value LIKE \'test%\')', $this->text(255)->check('value LIKE \'test%\''), 'text CHECK (value LIKE \'test%\')'], + [Schema::TYPE_TEXT . '(255) CHECK (value LIKE \'test%\')', $this->text()->check('value LIKE \'test%\''), 'text CHECK (value LIKE \'test%\')', Schema::TYPE_TEXT . ' CHECK (value LIKE \'test%\')'], [Schema::TYPE_TEXT . ' NOT NULL', $this->text()->notNull(), 'text NOT NULL'], - [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text(255)->notNull(), 'text NOT NULL'], + [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text()->notNull(), 'text NOT NULL', Schema::TYPE_TEXT . ' NOT NULL'], [Schema::TYPE_SMALLINT, $this->smallInteger(), 'smallint'], [Schema::TYPE_SMALLINT . '(8)', $this->smallInteger(8), 'smallint'], [Schema::TYPE_INTEGER, $this->integer(), 'integer'], diff --git a/tests/framework/db/sqlite/SqliteQueryBuilderTest.php b/tests/framework/db/sqlite/SqliteQueryBuilderTest.php index 896679266b..7dccc58ec0 100644 --- a/tests/framework/db/sqlite/SqliteQueryBuilderTest.php +++ b/tests/framework/db/sqlite/SqliteQueryBuilderTest.php @@ -26,11 +26,11 @@ class SqliteQueryBuilderTest extends QueryBuilderTest [Schema::TYPE_STRING . '(32) CHECK (value LIKE "test%")', $this->string(32)->check('value LIKE "test%"'), 'varchar(32) CHECK (value LIKE "test%")'], [Schema::TYPE_STRING . ' NOT NULL', $this->string()->notNull(), 'varchar(255) NOT NULL'], [Schema::TYPE_TEXT, $this->text(), 'text'], - [Schema::TYPE_TEXT . '(255)', $this->text(255), 'text'], + [Schema::TYPE_TEXT . '(255)', $this->text(), 'text', Schema::TYPE_TEXT], [Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")'], - [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text(255)->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")'], + [Schema::TYPE_TEXT . '(255) CHECK (value LIKE "test%")', $this->text()->check('value LIKE "test%"'), 'text CHECK (value LIKE "test%")', Schema::TYPE_TEXT . ' CHECK (value LIKE "test%")'], [Schema::TYPE_TEXT . ' NOT NULL', $this->text()->notNull(), 'text NOT NULL'], - [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text(255)->notNull(), 'text NOT NULL'], + [Schema::TYPE_TEXT . '(255) NOT NULL', $this->text()->notNull(), 'text NOT NULL', Schema::TYPE_TEXT . ' NOT NULL'], [Schema::TYPE_SMALLINT, $this->smallInteger(), 'smallint'], [Schema::TYPE_SMALLINT . '(8)', $this->smallInteger(8), 'smallint'], [Schema::TYPE_INTEGER, $this->integer(), 'integer'],