此功能有问题
wipe_data
这个
wipe_data
功能我的数据库清理和管理数据插入
但这个函数显示错误:
没有活跃交易
这是我的代码:
function wipe_data() {
DB::beginTransaction();
$adminData = User::where('role', 'admin')->first();
try {
User::truncate();
User_details::truncate();
User_kyc::truncate();
Token::truncate();`enter code here`
$auto_id = date('Y');
DB::statement("ALTER TABLE ls_users AUTO_INCREMENT = $auto_id");
$admin = new User();
$admin->username = $adminData->username;
$admin->email = $adminData->email;
$admin->password = $adminData->password;
$admin->role = $adminData->role;
$admin->save();
$user_id = User::where('role', 'admin')->value('id');
DB::commit();
} catch (\Exception $ex) {
DB::rollback();
return false;
}
return true;
}
truncate() 是另一个带有隐式 commit() 的语句。 它曾经在事务内工作,但在迁移到 Amazon RDS for MySQL - AWS MySQL 8 后,脚本开始抛出此错误。