【发布时间】:2018-08-21 05:44:34
【问题描述】:
我在 laravel 中使用迁移创建了一个触发器,它迁移成功,但我在数据库中找不到触发器,请有人帮忙。
我的 Laravel 版本是 5.5
我在下面添加了整个迁移文件。
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTrigger extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$database = config('database.default');
$databaseUserName = config('database.connections.'.$database.'.username');
$definer = 'DEFINER=`'.$databaseUserName.'`@`%`';
DB::unprepared('
DROP TRIGGER IF EXISTS user_religion_details_AFTER_UPDATE;
CREATE '.$definer.' TRIGGER user_religion_details_AFTER_UPDATE AFTER UPDATE ON `'.$databaseName.'.user_religion_details`
FOR EACH ROW
BEGIN
IF (NEW.religion_id <> OLD.religion_id) THEN
UPDATE users SET religion_id = NEW.religion_id WHERE id = OLD.user_id;
END IF;
END
');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::unprepared('DROP TRIGGER `user_religion_details_AFTER_UPDATE`');
}
}
请告诉我哪里做错了
【问题讨论】:
标签: migration laravel-5.5 database-trigger laravel-migrations