thinkphp6字段缓存导致插入数据为空解决笔记!
新增字段后,插入数据提示成功,字段却是空值。本地一般都是删除
runtime
下的文件就可以了
指定更新某个数据库下的某张表的字段缓存:php think optimize:schema --table db_name.table_name
,执行完后,再次执行插入,数据正常插入了!字段缓存仅在部署模式下生效,没有继承think\Model
类的(抽象)模型类不会生成
'DB_FIELDS_CACHE' => FALSE, // 关闭字段缓存
php think optimize:schema
#生成数据表字段信息缓存,提升数据库查询的性能,避免多余的查询
php think optimize:schema admin
#多应用模式指定应用名称的字段缓存自动生成,当前数据库配置文件中定义的数据表字段缓存
php think optimize:schema --db demo
#指定数据库下所有数据表生成字段缓存(必须有用户权限),执行后会自动在runtime/schema
目录下面按照数据表生成字段缓存文件
php think optimize:schema --app index
#应用使用了不同的数据库连接,会读取index
应用的模型来生成数据表字段缓存
php think optimize:schema --table think_user
#单独更新某个数据表的字段缓存,每次执行都会重新生成缓存
php think optimize:schema --table db_name.table_name
#指定数据库名称更新某个数据表的字段缓存
清除缓存文件
php think clear
#清除应用的缓存文件,不带任何参数调用clear命令的话,会清除runtime目录(包括模板缓存、日志文件及其子目录)下面的所有的文件,但会保留目录。
php think clear --dir
#不需要保留空目录
php think clear --log
#清除日志目录
php think clear --log --dir
#清除日志目录并删除空目录
php think clear --cache
#清除数据缓存目录
php think clear --cache --dir
#清除数据缓存目录并删除空目录
php think clear --route
#清除路由缓存
php think clear --path d:\www\tp6\runtime\log\
#清除某个指定目录下面的文件