我正在使用cakephp 3迁移插件来设计数据库。我想在字段中添加status
字段tinyint
,限制为1
,我尝试过以下操作,但没有任何补充。
尝试1.(失败)
$table->addColumn('status', 'smallinteger', [
'default' => 0,
'limit' => 1,
'null' => false,
]);
尝试2.(失败)
$table->addColumn('status', 'tinyint', [
'default' => 0,
'limit' => 1,
'null' => false,
]);
我找不到任何相同的文档可能就在那里而我错过了Docs Link
答案 0 :(得分:6)
添加字段类型的布尔值会添加长度为1的tinyint列
$table
->addColumn('status', 'boolean', [
'default' => false,
'null' => false,
]);
答案 1 :(得分:1)
迁移插件使用Phinx库来执行这些更新。添加 tinyint 列应使用MysqlAdapter::INT_TINY
常量完成,如下所示:
use Phinx\Db\Adapter\MysqlAdapter;
...
$table->addColumn('status', 'tinyint', [
'default' => 0,
'limit' => MysqlAdapter::INT_TINY, // 255
'null' => false,
]);
答案 2 :(得分:0)
花了我一段时间才弄清楚如何添加常规的非布尔tinyint,在寻找答案时,我一直遇到这个问题。因此,对于像我这样的其他人,就是这样:
use Phinx\Db\Adapter\MysqlAdapter;
$table->addColumn('status', 'integer', [
'default' => 0,
'limit' => MysqlAdapter::INT_TINY,
'null' => false,
]);