如何使用迁移插件将tinyint添加到cakephp 3中的数据库字段?

23c0lvtd  于 2022-11-12  发布在  PHP
关注(0)|答案(3)|浏览(212)

我正在使用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

eqzww0vc

eqzww0vc1#

添加字段类型boolean将添加长度为1的tinyint列

$table
      ->addColumn('status', 'boolean', [
                'default' => false,
                'null' => false,
            ]);
bwntbbo3

bwntbbo32#

迁移插件使用Phinx库来执行这些更新。添加 tinyint 列时应使用MysqlAdapter::INT_TINY常量,如下所示:

use Phinx\Db\Adapter\MysqlAdapter;
...
$table->addColumn('status', 'tinyint', [
    'default' => 0,
    'limit' => MysqlAdapter::INT_TINY, // 255
    'null' => false,
]);

来源:Phinx Mysql Tinyint

du7egjpx

du7egjpx3#

我花了一段时间才弄清楚如何添加一个常规的、非布尔的tinyint,在寻找答案时,我不断遇到这个问题。所以对于像我这样的其他人来说,它是这样的:

use Phinx\Db\Adapter\MysqlAdapter;

$table->addColumn('status', 'integer', [
    'default' => 0,
    'limit' => MysqlAdapter::INT_TINY,
    'null' => false,
]);

相关问题