分类: 数据库
-
本文基于 yii2-app-advanced 项目新建接口应用,将数据库字符集调整为 utf8mb4 并配置 RESTful 风格的响应格式。针对开发环境出现的数据库索引长度报错问题,分析了 MySQL 版本差异导致的限制,通过启用 Innodb_large_prefix 参数并修改迁移文件解决了该故障。文章还实现了请求日志记录功能,配置了忽略 GET 请求的规则,并完成了支持筛选功能的日志列表与详情接口。
-
在 Yii 2.0 中使用 updateAll() 方法将表列值更新为同一表另一列的值时,直接使用查询构建器会导致 prev_status 被错误更新为 0。为解决该问题,引入 yii\db\Expression 对象来表示不需要转义或引用的数据库表达式,最终成功生成了符合预期的 SQL 语句,实现了将 prev_status 更新为 status 的值并将 status 设为 4 的操作。
-
文章介绍了基于 yiisoft/yii2-app-advanced 搭建 RESTful 接口应用并准备自动化测试的过程。内容包括删除冗余的控制器、模型与视图,配置环境与数据库,解决内容协商引起的测试报错。通过创建 API 测试套件,编写了涵盖用户列表、详情、创建、更新、删除及 OPTIONS 请求的测试用例,利用 Fixtures 和 JsonPath 验证响应结构与数据,最终确保所有测试通过以保障现有功能的稳定性。
-
本文介绍了在 Yii 2 Starter Kit 中实现 RESTful 应用缓存管理的过程。通过编辑控制器、创建模型与逻辑层文件,实现了基于缓存组件ID获取列表、基于组件ID与缓存键删除缓存以及清空缓存的功能。测试结果显示,清空缓存操作会调用 flush() 方法删除 Redis 中的所有数据,而非仅限于该组件ID下的特定数据。
-
本文介绍了在 Yii 2 Starter Kit 中实现获取缓存组件列表功能的过程。通过创建控制器、数据模型、逻辑层、资源类及序列化类,并配置路由,完成了 RESTful 接口的开发。最终通过发送 GET 请求至接口地址,成功返回了缓存组件列表数据,验证了功能实现的正确性。
-
本文介绍了在 Yii 2 Starter Kit 中实现多租户数据库动态配置的过程。通过自定义 Connection 类和 ActiveRecord,调用多租户系统的接口获取主机名等配置属性,在数据库连接打开前完成初始化。文章解决了因动态配置导致的日志组件与 RBAC 组件报错,并通过修改组件注册逻辑解决了数据库连接数过多的问题。最终实现了基于租户 ID 的动态连接,并利用 Redis 缓存接口响应和数据库结构,有效减少了 HTTP 请求次数。
