Yii2 在迁移中使用架构生成器特性时指定未签名属性?
在yii2迁移中,我必须将一列指定为未签名。Yii2 在迁移中使用架构生成器特性时指定未签名属性?,yii2,Yii2,在yii2迁移中,我必须将一列指定为未签名。 来自手动的迁移代码示例 public function up() { $this->createTable('news', [ 'id' => $this->primaryKey(), 'title' => $this->string()->notNull() ]); } 根据我所做的研究,似乎没有一种方法可以在schema builder trait中添加未签名功
来自手动的迁移代码示例
public function up()
{
$this->createTable('news', [
'id' => $this->primaryKey(),
'title' => $this->string()->notNull()
]);
}
根据我所做的研究,似乎没有一种方法可以在schema builder trait中添加未签名功能
但是,是否有其他方法可以在仍然使用schemaBuilderTrait样式方法的情况下向列添加unsigned属性
例如,上面的
$this->string()
返回一个yii\db\ColumnSchemaBuilder
的实例,但它甚至没有设置unsigned/signed的属性 不幸的是,有些东西无法用新的迁移语法编写
在这种情况下,您可以像这样使用字符串连接:
'title' => $this->string()->notNull() . ' UNSIGNED',
或者,您可以使用旧语法(注意向后兼容性):
p.S.您可以将此问题发布在官方框架回购协议上
更新:它已经实现,请使用->unsigned()
方法。请注意,您需要更新框架。感谢leitasat提供的信息。以防万一:他们
现在您可以将
->unsigned()
添加到您的定义中。谢谢您的回答!我将使用串联方法来实现。
use yii\db\Schema;
...
'title' => Schema::TYPE_STRING . ' NOT NULL UNSIGNED',