标签: MySQL
-
本文介绍了在 Yii 2 高级模板中设计渠道发布接口的架构,旨在实现文章同步至企鹅号等渠道。通过复制应用调整配置、配置 Nginx 单域名路由,基于队列扩展和控制台命令推动工作流程。详细阐述了资源复制、文件上传、文章发布及来源回调等队列任务与事件处理器的实现,并进行了失败重试与状态更新测试。测试结果验证了该架构能有效处理视频发布流程,确保任务在异步执行中达成最终一致性。
-
本文基于 yii2-app-advanced 模板新建接口应用,利用 yii2tech 扩展实现 ActiveRecord 软删除。通过数据库迁移调整用户状态字段,配置行为类将删除操作转为状态标记,利用 Gii 生成 ActiveQuery 并自定义查询类以层级继承方式过滤数据,最终实现了 RESTful 接口下符合预期的数据增删改查及软删除逻辑。
-
本文基于 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 的操作。
-
针对在PHP 7.1和Yii 2框架中使用AR活动记录事务同时操作多个模型的需求,文章通过具体代码实现演示了该过程。为验证事务的原子性,文中分别测试了主模型保存失败、子模型保存失败以及两者均保存成功的场景。测试结果显示,无论哪个模型操作失败,数据库均未执行写入,只有两者全部成功时才更新数据,有效保证了数据一致性。
-
针对 phpMyAdmin 无法导入过大 SQL 文件的问题,文章尝试在 MySQL Query Browser 中通过点击 Execute 按钮执行脚本,但在处理过程中因文件第 18 万多行存在特殊字符导致 SQL 语法报错,需要手动定位并删除错误行。鉴于该图形界面工具操作繁琐且对特殊字符支持不佳,最终改用 MySQL 客户端命令行,通过 source 命令指定文件路径成功导入 303MB 的数据。
-
本文记录了在 Navicat 12 for MySQL 中运行 SQL 文件时遇到报错 Lost connection to MySQL server during query 的解决过程。通过编辑 MySQL Server 5.7 目录下的 my.ini 配置文件,将 max_allowed_packet 参数由 4M 修改为 256M,并重启 MySQL 服务,问题得到解决。再次运行 SQL 文件时将编码选择为 65001 (UTF-8),最终成功执行且无报错。
