如何解决什么是 down() 函数来逆转我所做的这个 Laravel 迁移?
因此,我想添加一列('Semester_TA')并将该列的属性('kode_mk')更改为唯一值,因此我创建了此迁移:
public function up()
{
Schema::table('mk',function(Blueprint $table){
$table->string('Semester_TA')->after('sks');
$table->string('kode_mk')->unique();
});
Schema::table('lr2',function(Blueprint $table){
$table->dropForeign(['id']);
});
}
public function down()
{
//
}
我还想删除/删除我创建的这个外键 ('id'),因为它有时会在我的项目中出现约束错误。我的问题是,如果迁移失败或出错,我应该写什么函数来反转上面的更新?
这是我现在使用的表“mk”和“lr2”迁移:
Schema::create('mk',function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('kode_mk');
$table->string('mk');
$table->integer('sks');
$table->integer('semester');
$table->integer('available_seats');
$table->timestamps();
});
Schema::create('lr2',function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('k_mk');
$table->string('mk');
$table->string('angkatan');
$table->integer('request_seats');
$table->boolean('status_request');
$table->timestamps();
$table->foreign('id')->references('id')->on('mk');
});
解决方法
首先,您必须创建一个新的迁移:
php artisan make:migration Add_column_change_the_property
然后在该迁移文件 up() 中,尝试:
public function up()
{
Schema::table('mk',function(Blueprint $table){
$table->string('Semester_TA')->after('sks');
$table->string('kode_mk')->unique();
});
}
然后在迁移文件 down() 中尝试:
public function down()
{
$table->dropColumn('kode_mk');
$table->foreign('id')->references('id')->on('mk');
//
}
然后通过以下方式迁移文件:php artisan migrate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。