我必须在yii2迁移中将列指定为unsigned 手动
的迁移代码示例public function up()
{
$this->createTable('news', [
'id' => $this->primaryKey(),
'title' => $this->string()->notNull()
]);
}
从我所做的研究中,似乎没有一种方法可以在模式构建器特征中添加未签名的功能。
但是还有其他方法可以在使用schemaBuilderTrait样式方法的同时将无符号属性添加到列中吗?
例如,上面的$this->string()
会返回yii\db\ColumnSchemaBuilder
的实例,但是它甚至没有设置无符号/签名的属性..
答案 0 :(得分:7)
不幸的是,使用新的迁移语法无法编写一些内容。
在这种情况下,您可以使用字符串连接:
Background
或者,您可以使用旧语法(观察到向后兼容性):
'title' => $this->string()->notNull() . ' UNSIGNED',
P.S。您可以针对此问题在官方框架回购中发布问题。
更新:已经实施,请使用use yii\db\Schema;
...
'title' => Schema::TYPE_STRING . ' NOT NULL UNSIGNED',
方法。请注意,您需要更新框架。感谢 leitasat 获取信息。
答案 1 :(得分:3)
以防万一:他们did it。
现在您可以将->unsigned()
添加到您的定义中。