Migration Laravel,通过迁移创建触发器成功运行,但无法';在mysql中找不到触发器
我在laravel中使用迁移创建了一个触发器,它成功迁移了,但我在数据库中找不到该触发器,请有人帮忙 我的Laravel版本是5.5 我在下面添加了整个迁移文件Migration Laravel,通过迁移创建触发器成功运行,但无法';在mysql中找不到触发器,migration,laravel-5.5,database-trigger,laravel-migrations,Migration,Laravel 5.5,Database Trigger,Laravel Migrations,我在laravel中使用迁移创建了一个触发器,它成功迁移了,但我在数据库中找不到该触发器,请有人帮忙 我的Laravel版本是5.5 我在下面添加了整个迁移文件 use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTrigger extends Migration {
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`');
}
}
使用light\Support\Facades\Schema;
使用Illumb\Database\Schema\Blueprint;
使用\Database\Migrations\Migration;
类CreateTrigger扩展了迁移
{
/**
*运行迁移。
*
*@返回无效
*/
公共职能
{
$database=config('database.default');
$databaseUserName=config('database.connections..$database.'.username');
$definer='definer=`.$databaseUserName.`@`%`;
DB::未做好准备的('
更新后,如果存在用户\u宗教\u详细信息,\u,则丢弃触发器;
创建“%$definer.”在“.”上更新后触发“用户宗教”详细信息“。$databaseName.”。用户宗教详细信息“
每行
开始
如果(NEW.religation\u id OLD.religation\u id)那么
更新用户设置宗教\u id=NEW.religation\u id,其中id=OLD.user\u id;
如果结束;
结束
');
}
/**
*反向迁移。
*
*@返回无效
*/
公共职能部门
{
DB::未准备就绪('DROP TRIGGER`user\u religation\u details\u AFTER\u UPDATE`');
}
}
请让我知道我哪里做错了试试:
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
');
}
public function up()
{
$database=config('database.default');
$databaseUserName=config('database.connections..$database.'.username');
$definer='definer=`.$databaseUserName.`@`%`;
DB::unprepared('DROP TRIGGER IF EXISTS user_religation_details_-AFTER_UPDATE');
DB::unprepared('CREATE'.$definer.'在更新后触发用户宗教详细信息'.$databaseName.'.用户宗教详细信息''
每行
开始
如果(NEW.religation\u id OLD.religation\u id)那么
更新用户设置宗教\u id=NEW.religation\u id,其中id=OLD.user\u id;
如果结束;
结束
');
}
让我知道它是否有效