Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Привет всем!
Пытаюсь выполнить такую миграцию
public function up()
{
Schema::create('table1', function (Blueprint $table) {
$table->uuid('id')->default('gen_uuid()');
$table->string('name');
});
}
Получаю ошибку
SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for uuid: "gen_uuid()"
(SQL: create table "table1" ("id" uuid not null default 'gen_uuid()', "name" varchar(255) not null))
Ругается на default-значение 'gen_uuid()' в поле id.
Сформированный запрос, действительно не корректен. С точки зрения синтаксиса Postgre функция в DEFAULT для ID должна указываться без кавычек.
Т.е. запрос должен получиться таким:
create table "table1" ("id" uuid not null default gen_uuid(), "name" varchar(255) not null)
Может кто знает как с этим бороться?
Изменено liman (05.12.2017 18:29:45)
Не в сети
Разобрался
$table->uuid('id')->default(DB:raw('gen_uuid()'));
Не в сети