thinkphp项目初始化数据
发布时间:2024-03-19
|
浏览次数:2862次
描述
实际开发中常见的操作,首先是删除脏数据,这个通过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); } } }