我刚创建了新的迁移。运行后,我看到我的字段type
不是ENUM类型。它有一个 VARCHAR(255)类型
Schema::create('payments', function (Blueprint $table) {
$table->increments('id');
$table->text('response');
$table->enum('type', ['apple', 'paypal']);
$table->smallInteger('flags');
$table->timestamps();
});
有人可以告诉我可能是什么原因。我错过了什么,我多次尝试 - 得到相同的结果。
我正在使用PostgreSQL 9.5.4
答案 0 :(得分:4)
来自Laravel source code
protected function typeEnum(Fluent $column)
{
$allowed = array_map(function ($a) {
return "'{$a}'";
}, $column->allowed);
return "varchar(255) check (\"{$column->name}\" in (".implode(', ', $allowed).'))';
}
它将创建一个varchar(255)
列并添加一个约束,以便它只允许指定的字符串。