thinkphp项目初始化数据
发布时间:2024-03-19
|
浏览次数:2981次
描述
实际开发中常见的操作,首先是删除脏数据,这个通过sql指令完成,然后是设置默认数据,根据自己的业务进行调整,最后将redis等数据给删除掉,这样就恢复到了项目的初始化啦。
详情
三大步骤快速将项目数据初始化,第一是删除脏数据,第二是设置默认数据,根据自己业务调整,第三将redis等数据给删除掉,这样就恢复到了项目的初始化啦。这个在实战中用得非常多,尤其是项目测试阶段,以下通过代码演示
<?php
namespace app\test\controller;
use think\facade\Db;
use think\facade\Cache;
class Table extends \app\BaseController
{
public function index()
{
$this->deleteTableRows();//清空数据表
$this->setDefaultData();//设置默认数据
return jsonQ(true, '设置默认数据成功');
}
//设置默认数据
public function setDefaultData()
{
Db::name('user_wallet')->where('id', '>', 0)->update(['synthesis'=>0,'gold' => 0]);
Db::name('user')->where('id', '>', 0)->update(['login_number'=> 0]);
Cache::delete('{queues:queue_jobs}');
Cache::delete('{queues:queue_jobs}:delayed');
Cache::delete('{queues:queue_jobs}:reserved');
}
// 一次性删减所有表中的数据
public function deleteTableRows()
{
$tables = [
'user_bet',
'user_commission',
'user_wallet_log',
'user_recharge_log',
'config_bet',
'config_gift',//礼包
'user_gift',
'user_reward',
'user_task',
'user_withdrawal',
'btc_request_log',
'sms_code'
];
$sql = '';
foreach ($tables as $table) {
$sql = 'truncate ' . $table . ' ; ';
Db::execute($sql);
}
}
}
