Files

43 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace ywxapp\model;
use ywxapp\model\BaseModel;
use think\model\concern\SoftDelete;
/**
* 短信服务
*/
class Sms extends BaseModel
{
use SoftDelete;
protected $name = 'sms';
protected $deleteTime = 'delete_at';
protected $defaultSoftDelete = 0;
// 时间戳自动写入
protected $autoWriteTimestamp = true;
protected $createTime = 'create_at';
protected $updateTime = 'update_at';
/**
* 运行时自愈:确保 sms 主表存在(install.sql 为事实源),并幂等补 delete_at 软删除列。
*/
public static function ensureSchema(): void
{
$prefix = BaseModel::currentPrefix();
BaseModel::ensureTableFromInstall($prefix, 'sms');
self::ensureColumn($prefix . 'sms', 'delete_at', "int NOT NULL DEFAULT 0 COMMENT '删除时间(软删除)'");
}
/**
* 初始化:软删除依赖 delete_at 列、且需保证主表存在。
* install.sql 的短信日志表(sms)可能缺失,先自愈建表,再幂等补 delete_at 列。
*/
protected function initialize()
{
parent::initialize();
self::ensureSchema();
}
}