雄辩的 ORM 和 postgres 迁移 - 是不是可以分配表达式默认值?

Posted

技术标签:

【中文标题】雄辩的 ORM 和 postgres 迁移 - 是不是可以分配表达式默认值?【英文标题】:Eloquent ORM and postgres migration - Is it possible to assign an expression default value?雄辩的 ORM 和 postgres 迁移 - 是否可以分配表达式默认值? 【发布时间】:2017-07-15 01:28:59 【问题描述】:

我正在阅读 an article on secure storage of credentials with postgres,它推荐随机的 uuids 与自动递增的 id

在原始的 postgresql 中会是这样的:

id uuid NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY

但是,通过 eloquent,我无法弄清楚如何实现这样的目标。 eloquent docs for 5.4 提到 ->storedAs($expression) 不幸的是仅限于 mysql。这对 postgres 来说是不可能的吗?

【问题讨论】:

试试->default(DB::raw('gen_random_uuid()')) @Aboudeh87 这工作得很好!令人惊讶的是,该文档中的任何地方都没有提到 DB::raw 符号。您能否将您的解决方案发布为答案,以便我选择它? 我用文档链接写了一个答案:) 【参考方案1】:

试试 ->default(DB::raw('gen_random_uuid()'));

它存在于query builder 文档中

【讨论】:

以上是关于雄辩的 ORM 和 postgres 迁移 - 是不是可以分配表达式默认值?的主要内容,如果未能解决你的问题,请参考以下文章

雄辩的 orm - 放置一个数组

雄辩的 ORM 和 EAV

雄辩的 ORM 交叉搜索

laravel 4 - 如何限制(采取和跳过)雄辩的 ORM?

PhpStorm 中雄辩的 ORM 代码提示

如何使用 eloquent 在 laravel 迁移中删除 POSTGRES 表或视图?