Laravel,通过迁移创建触发器成功运行,但无法在mysql中找到触发器

时间:2018-03-13 04:09:12

标签: migration laravel-5.5 database-trigger laravel-migrations

我已经使用laravel中的迁移创建了一个触发器并且它已成功迁移,但我无法在数据库中找到触发器,有人可以帮忙。

我的Laravel版本是5.5

我在下面添加了整个迁移文件。

Eclipse

请让我知道我做错了什么

1 个答案:

答案 0 :(得分:0)

尝试:

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');
    DB::unprepared('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
    ');
}

让我知道它是否可行?