假设我有一个包含periods
和start_date
列的表end_date
,我想添加约束start_date < end_date
。
PostgreSQL查询将是:
ALTER TABLE periods ADD CONSTRAINT check_dates CHECK ("start_date" < "end_date");
但我希望将其作为PHP的迁移来实现。我猜它看起来像这样:
Schema::table('periods', function (Blueprint $table) { $table->something(); });
...但即使使用IntelliSense,我也猜不出要写什么而不是“某事()”。
我没有使用最新版本的Laravel,所以如果您添加代码的版本以及在旧版本中可以执行哪些操作会更好。
答案 0 :(得分:3)
您可以运行一些原始SQL,如下所示,因为Blueprint类仍然不支持约束。
public function up()
{
DB::statement('ALTER TABLE periods ADD CONSTRAINT check_dates CHECK ("start_date" < "end_date")');
}