gpt4 book ai didi

php - 在 CakePHP 中将 id 从自动增量更改为 char 36

转载 作者:搜寻专家 更新时间:2023-10-30 23:16:13 24 4
gpt4 key购买 nike

我有基于 CakePHP 1.2.11 构建的 Web 应用程序。和mysql数据库。在这个应用程序中,我有两个表,即用户和操作。用户有许多操作,user_id(用户表中的 id)是操作表中的外键。 id字段是自增整数。

CakePHP 文档说,将 id 字段设置为 Char(36) 将使 CakePHP 能够为每条记录生成 Unique 字符串作为 id。

我的应用程序正在运行,我不想丢失我的应用程序已有的数据记录。我需要知道是否可以安全地从自动增量整数 id 迁移到 char(36),同时牢记相关表?

换句话说,我如何将整数值更改为 cakephp 所做的唯一字符串 id?有什么规定吗?如果有任何工具可以自动执行这种迁移,我将不胜感激。

最佳答案

是的,只需更改表以使用 varchar。 INT 列可以转换为 char,因此您不会丢失原始 ID(您最终会混合使用旧的常规 int 和新的 uuid)。您需要确保也对需要存储 VARCHAR(36) 的任何其他表上的任何外键进行更改。

然后确保立即推送新代码,否则将无法创建新记录,因为 varchar 字段不能自动递增。

最后,在推送新代码后,立即清除模型缓存,这样 Cake 就不会仍然认为它是 INT

关于php - 在 CakePHP 中将 id 从自动增量更改为 char 36,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com