Abr*_*hin 10 php mysql migration database-migration laravel
我想在Laravel Migration中创建一个像这样的表 -
CREATE TABLE Payroll
(
ID int PRIMARY KEY,
PositionID INT,
Salary decimal(9,2)
CHECK (Salary < 150000.00)
);
Run Code Online (Sandbox Code Playgroud)
我所做的是 -
Schema::create('Payroll', function (Blueprint $table)
{
$table->increments('id');
$table->integer('PositionID ');
$table->decimal('Salary',9,2);
//$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)
但我不能创造这个 -
CHECK (Salary < 150000.00)
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉,如何CHECK在Laravel Migration中实现这些约束?
Mic*_*ael 18
添加约束不是由蓝图类支持(至少Laravel 5.3),但它是可以限制直接从您的迁移添加到您的表,通过使用数据库语句.
在您的迁移文件中
public function up ()
{
Schema::create('payroll', function (Blueprint $table) {
$table->increments('id');
$table->integer('position_id');
$table->decimal('salary',9,2);
});
// Add the constraint
DB::statement('ALTER TABLE payroll ADD CONSTRAINT chk_salary_amount CHECK (salary < 150000.00);');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5357 次 |
| 最近记录: |