本文整理汇总了PHP中Column::int方法的典型用法代码示例。如果您正苦于以下问题:PHP Column::int方法的具体用法?PHP Column::int怎么用?PHP Column::int使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Column
的用法示例。
在下文中一共展示了Column::int方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testFactories
public function testFactories()
{
// char
$this->assertEquals(new CharColumn('foo', 'char', 0), Column::char('foo', 0));
$this->assertEquals(new CharColumn('foo', 'varchar', 0), Column::varchar('foo', 0));
// datetime
$this->assertEquals(new DateTimeColumn('foo'), Column::datetime('foo'));
// decimal
$this->assertEquals(new DecimalColumn('foo', 10, 2), Column::decimal('foo', 10, 2));
// float
$this->assertEquals(new FloatColumn('foo', 10, 2), Column::float('foo', 10, 2));
// int
$this->assertEquals(new IntColumn('foo', 'tinyint'), Column::tinyint('foo'));
$this->assertEquals(new IntColumn('foo', 'smallint'), Column::smallint('foo'));
$this->assertEquals(new IntColumn('foo', 'int'), Column::int('foo'));
$this->assertEquals(new IntColumn('foo', 'mediumint'), Column::mediumint('foo'));
$this->assertEquals(new IntColumn('foo', 'bigint'), Column::bigint('foo'));
$this->assertEquals((new IntColumn('foo', 'tinyint'))->setUnsigned()->setAutoIncrement(), Column::tinyserial('foo'));
$this->assertEquals((new IntColumn('foo', 'smallint'))->setUnsigned()->setAutoIncrement(), Column::smallserial('foo'));
$this->assertEquals((new IntColumn('foo', 'int'))->setUnsigned()->setAutoIncrement(), Column::serial('foo'));
$this->assertEquals((new IntColumn('foo', 'mediumint'))->setUnsigned()->setAutoIncrement(), Column::mediumserial('foo'));
$this->assertEquals((new IntColumn('foo', 'bigint'))->setUnsigned()->setAutoIncrement(), Column::bigserial('foo'));
// text
$this->assertEquals(new TextColumn('foo', 'tinytext'), Column::tinytext('foo'));
$this->assertEquals(new TextColumn('foo', 'text'), Column::text('foo'));
$this->assertEquals(new TextColumn('foo', 'mediumtext'), Column::mediumtext('foo'));
$this->assertEquals(new TextColumn('foo', 'longtext'), Column::longtext('foo'));
// timestamp
$this->assertEquals(new TimestampColumn('foo'), Column::timestamp('foo'));
}
示例2: testDecimal
public function testDecimal()
{
$column = new DecimalColumn('foo', 10, 2);
$this->assertSame('foo', $column->getName());
$this->assertSame('decimal', $column->getType());
$this->assertSame(10, $column->getPrecision());
$this->assertSame(2, $column->getScale());
$this->assertSame(false, $column->isUnsigned());
$this->assertSame(false, $column->isNullable());
$this->assertSame(false, $column->hasDefault());
$this->assertSame(null, $column->getDefault());
$this->assertSame(false, $column->hasComment());
$this->assertSame('', $column->getComment());
$this->assertSame('`foo` decimal(10,2) NOT NULL', $column->buildCreate());
$this->assertSame('DROP COLUMN `foo`', $column->buildDrop());
$this->assertSame('ADD COLUMN `foo` decimal(10,2) NOT NULL', $column->buildAdd());
$this->assertSame('ADD COLUMN `foo` decimal(10,2) NOT NULL AFTER `bar`', $column->buildAdd(Column::int('bar')));
$this->assertSame('CHANGE COLUMN `bar` `foo` decimal(10,2) NOT NULL', $column->buildChange(Column::int('bar')));
// unsigned
$column = new DecimalColumn('foo', 10, 2);
$column->setUnsigned();
$this->assertSame(true, $column->isUnsigned());
$this->assertSame('`foo` decimal(10,2) UNSIGNED NOT NULL', $column->buildCreate());
// unsigned + nullable
$column->setNullable();
$this->assertSame('`foo` decimal(10,2) UNSIGNED', $column->buildCreate());
// unsigned + nullable + default
$column->setDefault(1);
$this->assertSame('`foo` decimal(10,2) UNSIGNED DEFAULT "1.00"', $column->buildCreate());
// unsigned + nullable + default + comment
$column->setComment('foobar');
$this->assertSame('`foo` decimal(10,2) UNSIGNED DEFAULT "1.00" COMMENT "foobar"', $column->buildCreate());
// unsigned + default
$column = new DecimalColumn('foo', 10, 2);
$column->setUnsigned()->setDefault(1);
$this->assertSame('`foo` decimal(10,2) UNSIGNED NOT NULL DEFAULT "1.00"', $column->buildCreate());
// unsigned + default + comment
$column->setComment('foobar');
$this->assertSame('`foo` decimal(10,2) UNSIGNED NOT NULL DEFAULT "1.00" COMMENT "foobar"', $column->buildCreate());
// unsigned + comment
$column = new DecimalColumn('foo', 10, 2);
$column->setUnsigned()->setComment('foobar');
$this->assertSame('`foo` decimal(10,2) UNSIGNED NOT NULL COMMENT "foobar"', $column->buildCreate());
// nullable
$column = new DecimalColumn('foo', 10, 2);
$column->setNullable();
$this->assertSame(true, $column->isNullable());
$this->assertSame('`foo` decimal(10,2)', $column->buildCreate());
// nullable + default
$column->setDefault(1);
$this->assertSame('`foo` decimal(10,2) DEFAULT "1.00"', $column->buildCreate());
// nullable + default + comment
$column->setComment('foobar');
$this->assertSame('`foo` decimal(10,2) DEFAULT "1.00" COMMENT "foobar"', $column->buildCreate());
// nullable + comment
$column = new DecimalColumn('foo', 10, 2);
$column->setNullable()->setComment('foobar');
$this->assertSame('`foo` decimal(10,2) COMMENT "foobar"', $column->buildCreate());
// default
$column = new DecimalColumn('foo', 10, 4);
$column->setDefault(1.12345);
$this->assertSame(1.12345, $column->getDefault());
$this->assertSame('`foo` decimal(10,4) NOT NULL DEFAULT "1.1235"', $column->buildCreate());
$column = new DecimalColumn('foo', 10, 4);
$column->setDefault(1);
$this->assertSame(true, $column->hasDefault());
$this->assertSame(1.0, $column->getDefault());
$this->assertSame('`foo` decimal(10,4) NOT NULL DEFAULT "1.0000"', $column->buildCreate());
// default + comment
$column->setComment('foobar');
$this->assertSame('`foo` decimal(10,4) NOT NULL DEFAULT "1.0000" COMMENT "foobar"', $column->buildCreate());
// comment
$column = new DecimalColumn('foo', 10, 2);
$column->setComment('foobar');
$this->assertSame(true, $column->hasComment());
$this->assertSame('foobar', $column->getComment());
$this->assertSame('`foo` decimal(10,2) NOT NULL COMMENT "foobar"', $column->buildCreate());
}
示例3: testDateTimeColumn
public function testDateTimeColumn()
{
$column = new DateTimeColumn('foo');
$this->assertSame('foo', $column->getName());
$this->assertSame('datetime', $column->getType());
$this->assertSame(false, $column->isNullable());
$this->assertSame(false, $column->hasDefault());
$this->assertSame(false, $column->isDefaultCurrent());
$this->assertSame(false, $column->isOnUpdateCurrent());
$this->assertSame(false, $column->hasComment());
$this->assertSame('', $column->getComment());
$this->assertSame('`foo` datetime NOT NULL', $column->buildCreate());
$this->assertSame('DROP COLUMN `foo`', $column->buildDrop());
$this->assertSame('ADD COLUMN `foo` datetime NOT NULL', $column->buildAdd());
$this->assertSame('ADD COLUMN `foo` datetime NOT NULL AFTER `bar`', $column->buildAdd(Column::int('bar')));
$this->assertSame('CHANGE COLUMN `bar` `foo` datetime NOT NULL', $column->buildChange(Column::int('bar')));
// nullable
$column->setNullable();
$this->assertSame(true, $column->isNullable());
$this->assertSame('`foo` datetime', $column->buildCreate());
// nullable + default
$column->setDefault('2016-01-01');
$this->assertSame('`foo` datetime DEFAULT "2016-01-01 00:00:00"', $column->buildCreate());
// nullable + default + on update current
$column->setOnUpdateCurrent();
$this->assertSame('`foo` datetime DEFAULT "2016-01-01 00:00:00" ON UPDATE CURRENT_TIMESTAMP', $column->buildCreate());
// nullable + default + on update current + comment
$column->setComment('foobar');
$this->assertSame('`foo` datetime DEFAULT "2016-01-01 00:00:00" ON UPDATE CURRENT_TIMESTAMP COMMENT "foobar"', $column->buildCreate());
// default
$column = new DateTimeColumn('foo');
$column->setDefault(new \DateTime('2016-01-01 11:00:00', new \DateTimeZone('Asia/Tokyo')));
$this->assertSame('`foo` datetime NOT NULL DEFAULT "2016-01-01 02:00:00"', $column->buildCreate());
$column = new DateTimeColumn('foo');
$column->setDefault(null);
$this->assertSame(false, $column->hasDefault());
$column->setDefault('');
$this->assertSame(false, $column->hasDefault());
$this->assertSame('`foo` datetime NOT NULL', $column->buildCreate());
$column = new DateTimeColumn('foo');
$column->setDefault('2016-01-01');
$this->assertSame(true, $column->hasDefault());
$this->assertSame('`foo` datetime NOT NULL DEFAULT "2016-01-01 00:00:00"', $column->buildCreate());
// default + on update current
$column->setOnUpdateCurrent();
$this->assertSame('`foo` datetime NOT NULL DEFAULT "2016-01-01 00:00:00" ON UPDATE CURRENT_TIMESTAMP', $column->buildCreate());
// default + on update current + comment
$column->setComment('foobar');
$this->assertSame('`foo` datetime NOT NULL DEFAULT "2016-01-01 00:00:00" ON UPDATE CURRENT_TIMESTAMP COMMENT "foobar"', $column->buildCreate());
// on update current
$column = new DateTimeColumn('foo');
$column->setOnUpdateCurrent();
$this->assertSame(true, $column->isOnUpdateCurrent());
$this->assertSame('`foo` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP', $column->buildCreate());
// on update current + comment
$column->setComment('foobar');
$this->assertSame('`foo` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT "foobar"', $column->buildCreate());
// comment
$column = new DateTimeColumn('foo');
$column->setComment('foobar');
$this->assertSame(true, $column->hasComment());
$this->assertSame('foobar', $column->getComment());
$this->assertSame('`foo` datetime NOT NULL COMMENT "foobar"', $column->buildCreate());
// default current
$column = new DateTimeColumn('foo');
$column->setDefaultCurrent();
$this->assertSame(true, $column->hasDefault());
$this->assertSame(true, $column->isDefaultCurrent());
$this->assertSame('`foo` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP', $column->buildCreate());
$column = new DateTimeColumn('foo');
$column->setDefault('CURRENT_TIMESTAMP');
$this->assertSame(true, $column->hasDefault());
$this->assertSame(true, $column->isDefaultCurrent());
$this->assertSame('`foo` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP', $column->buildCreate());
}
示例4: testCharColumn
/**
* @dataProvider dataProviderCharTypes
*/
public function testCharColumn(string $type, int $length)
{
$column = new CharColumn('foo', $type, 255);
$this->assertSame('foo', $column->getName());
$this->assertSame($type, $column->getType());
$this->assertSame(255, $column->getLength());
$this->assertSame(false, $column->isBinary());
$this->assertSame('', $column->getCharset());
$this->assertSame('', $column->getCollation());
$this->assertSame(false, $column->isNullable());
$this->assertSame(false, $column->hasDefault());
$this->assertSame(null, $column->getDefault());
$this->assertSame(false, $column->hasComment());
$this->assertSame('', $column->getComment());
$this->assertSame(sprintf('`foo` %s(255) NOT NULL', $type), $column->buildCreate());
$this->assertSame('DROP COLUMN `foo`', $column->buildDrop());
$this->assertSame(sprintf('ADD COLUMN `foo` %s(255) NOT NULL', $type), $column->buildAdd());
$this->assertSame(sprintf('ADD COLUMN `foo` %s(255) NOT NULL AFTER `bar`', $type), $column->buildAdd(Column::int('bar')));
$this->assertSame(sprintf('CHANGE COLUMN `bar` `foo` %s(255) NOT NULL', $type), $column->buildChange(Column::int('bar')));
// binary
$column->setBinary();
$this->assertSame(true, $column->isBinary());
$this->assertSame(sprintf('`foo` %s(255) BINARY NOT NULL', $type), $column->buildCreate());
// binary + charset
$column->setCharset('utf8');
$this->assertSame(sprintf('`foo` %s(255) BINARY CHARACTER SET utf8 NOT NULL', $type), $column->buildCreate());
// binary + charset + collation
$column->setCollation('utf8_bin');
$this->assertSame(sprintf('`foo` %s(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin NOT NULL', $type), $column->buildCreate());
// binary + charset + collation + nullable
$column->setNullable();
$this->assertSame(sprintf('`foo` %s(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin', $type), $column->buildCreate());
// binary + charset + collation + nullable + default
$column->setDefault('bar');
$this->assertSame(sprintf('`foo` %s(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT "bar"', $type), $column->buildCreate());
// binary + charset + collation + nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s(255) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT "bar" COMMENT "foobar"', $type), $column->buildCreate());
// charset
$column = new CharColumn('foo', $type, 255);
$column->setCharset('utf8');
$this->assertSame('utf8', $column->getCharset());
$this->assertSame(sprintf('`foo` %s(255) CHARACTER SET utf8 NOT NULL', $type), $column->buildCreate());
// charset + collation
$column->setCollation('utf8_bin');
$this->assertSame(sprintf('`foo` %s(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL', $type), $column->buildCreate());
// charset + collation + nullable
$column->setNullable();
$this->assertSame(sprintf('`foo` %s(255) CHARACTER SET utf8 COLLATE utf8_bin', $type), $column->buildCreate());
// charset + collation + nullable + default
$column->setDefault('bar');
$this->assertSame(sprintf('`foo` %s(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT "bar"', $type), $column->buildCreate());
// charset + collation + nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT "bar" COMMENT "foobar"', $type), $column->buildCreate());
// collation
$column = new CharColumn('foo', $type, 255);
$column->setCollation('utf8_bin');
$this->assertSame('utf8_bin', $column->getCollation());
$this->assertSame(sprintf('`foo` %s(255) COLLATE utf8_bin NOT NULL', $type), $column->buildCreate());
// collation + nullable
$column->setNullable();
$this->assertSame(sprintf('`foo` %s(255) COLLATE utf8_bin', $type), $column->buildCreate());
// collation + nullable + default
$column->setDefault('bar');
$this->assertSame(sprintf('`foo` %s(255) COLLATE utf8_bin DEFAULT "bar"', $type), $column->buildCreate());
// collation + nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s(255) COLLATE utf8_bin DEFAULT "bar" COMMENT "foobar"', $type), $column->buildCreate());
// nullable
$column = new CharColumn('foo', $type, 255);
$column->setNullable();
$this->assertSame(true, $column->isNullable());
$this->assertSame(sprintf('`foo` %s(255)', $type), $column->buildCreate());
// nullable + default
$column->setDefault('bar');
$this->assertSame(sprintf('`foo` %s(255) DEFAULT "bar"', $type), $column->buildCreate());
// nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s(255) DEFAULT "bar" COMMENT "foobar"', $type), $column->buildCreate());
// default
$column = new CharColumn('foo', $type, 255);
$column->setDefault('bar');
$this->assertSame(true, $column->hasDefault());
$this->assertSame('bar', $column->getDefault());
$this->assertSame(sprintf('`foo` %s(255) NOT NULL DEFAULT "bar"', $type), $column->buildCreate());
// default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s(255) NOT NULL DEFAULT "bar" COMMENT "foobar"', $type), $column->buildCreate());
// comment
$column = new CharColumn('foo', $type, 255);
$column->setComment('foobar');
$this->assertSame(true, $column->hasComment());
$this->assertSame('foobar', $column->getComment());
$this->assertSame(sprintf('`foo` %s(255) NOT NULL COMMENT "foobar"', $type), $column->buildCreate());
}
示例5: testIntColumn
/**
* @dataProvider dataProviderIntTypes
*/
public function testIntColumn(string $type, int $signed_min, int $signed_max, int $unsigned_max)
{
$column = new IntColumn('foo', $type);
$this->assertSame('foo', $column->getName());
$this->assertSame($type, $column->getType());
$this->assertSame(false, $column->isUnsigned());
$this->assertSame(false, $column->isNullable());
$this->assertSame(false, $column->isAutoIncrement());
$this->assertSame(false, $column->hasDefault());
$this->assertSame(null, $column->getDefault());
$this->assertSame(false, $column->hasComment());
$this->assertSame('', $column->getComment());
$this->assertSame($signed_min, $column->getMin());
$this->assertSame($signed_max, $column->getMax());
$this->assertSame(sprintf('`foo` %s NOT NULL', $type), $column->buildCreate());
$this->assertSame('DROP COLUMN `foo`', $column->buildDrop());
$this->assertSame(sprintf('ADD COLUMN `foo` %s NOT NULL', $type), $column->buildAdd());
$this->assertSame(sprintf('ADD COLUMN `foo` %s NOT NULL AFTER `bar`', $type), $column->buildAdd(Column::int('bar')));
$this->assertSame(sprintf('CHANGE COLUMN `bar` `foo` %s NOT NULL', $type), $column->buildChange(Column::int('bar')));
// unsigned
$column = new IntColumn('foo', $type);
$column->setUnsigned();
$this->assertSame(true, $column->isUnsigned());
$this->assertSame(0, $column->getMin());
$this->assertSame($unsigned_max, $column->getMax());
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL', $type), $column->buildCreate());
// unsigned + auto_increment
$column->setAutoIncrement();
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL AUTO_INCREMENT', $type), $column->buildCreate());
// unsigned + auto_increment + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL AUTO_INCREMENT COMMENT "foobar"', $type), $column->buildCreate());
// unsigned + nullable
$column = new IntColumn('foo', $type);
$column->setUnsigned()->setNullable();
$this->assertSame(sprintf('`foo` %s UNSIGNED', $type), $column->buildCreate());
// unsigned + nullable + default
$column->setDefault(1);
$this->assertSame(sprintf('`foo` %s UNSIGNED DEFAULT "1"', $type), $column->buildCreate());
// unsigned + nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s UNSIGNED DEFAULT "1" COMMENT "foobar"', $type), $column->buildCreate());
// unsigned + default
$column = new IntColumn('foo', $type);
$column->setUnsigned()->setDefault(1);
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL DEFAULT "1"', $type), $column->buildCreate());
// unsigned + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL DEFAULT "1" COMMENT "foobar"', $type), $column->buildCreate());
// unsigned + comment
$column = new IntColumn('foo', $type);
$column->setUnsigned()->setComment('foobar');
$this->assertSame(sprintf('`foo` %s UNSIGNED NOT NULL COMMENT "foobar"', $type), $column->buildCreate());
// nullable
$column = new IntColumn('foo', $type);
$column->setNullable();
$this->assertSame(true, $column->isNullable());
$this->assertSame(sprintf('`foo` %s', $type), $column->buildCreate());
// nullable + default
$column->setDefault(1);
$this->assertSame(sprintf('`foo` %s DEFAULT "1"', $type), $column->buildCreate());
// nullable + default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s DEFAULT "1" COMMENT "foobar"', $type), $column->buildCreate());
// nullable + comment
$column = new IntColumn('foo', $type);
$column->setNullable()->setComment('foobar');
$this->assertSame(sprintf('`foo` %s COMMENT "foobar"', $type), $column->buildCreate());
// auto_increment
$column = new IntColumn('foo', $type);
$column->setAutoIncrement();
$this->assertSame(true, $column->isAutoIncrement());
$this->assertSame(sprintf('`foo` %s NOT NULL AUTO_INCREMENT', $type), $column->buildCreate());
// auto_increment + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s NOT NULL AUTO_INCREMENT COMMENT "foobar"', $type), $column->buildCreate());
// default
$column = new IntColumn('foo', $type);
$column->setDefault(1);
$this->assertSame(true, $column->hasDefault());
$this->assertSame(1, $column->getDefault());
$this->assertSame(sprintf('`foo` %s NOT NULL DEFAULT "1"', $type), $column->buildCreate());
// default + comment
$column->setComment('foobar');
$this->assertSame(sprintf('`foo` %s NOT NULL DEFAULT "1" COMMENT "foobar"', $type), $column->buildCreate());
// comment
$column = new IntColumn('foo', $type);
$column->setComment('foobar');
$this->assertSame(true, $column->hasComment());
$this->assertSame('foobar', $column->getComment());
$this->assertSame(sprintf('`foo` %s NOT NULL COMMENT "foobar"', $type), $column->buildCreate());
}