Rails:更改数据库上的模型 ID

发布于 2024-10-16 08:58:30 字数 221 浏览 2 评论 0原文

出于在不同应用程序使用的 2 个不同数据库之间进行同步的原因, 我需要更改某些模型的唯一主键 ID 字段。 这样做是为了使相关行与其他数据库一致(确保它们使用相同的 ID)。

更改大多数模型的 ID 是否会以某种方式影响应用程序? 会影响数据库吗? (性能方面) 我假设我们的代码中没有硬编码的位置具有特定的 ID 号, 我将使用所有引用表中的新 ID 更新外键。

我正在使用MySQL。 谢谢。

For reasons of synchronizing between 2 different DBs used by different applications,
I need to change the unique primary key IDs fields of some of my models.
This is done in order to conform the relevant rows to the other DB (make sure they use the same ID).

Will changing the IDs of most of the models affect the application somehow?
Will it affect the DB? (performance-wise)
I'm assuming we have no hard-coded places in the code with specific ID numbers,
and that I would update the foreign keys with the new IDs in all the referenced tables.

I'm using MySQL.
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哑剧 2024-10-23 08:58:30

基本上:不,一切都应该正常。

确保考虑外键以使它们与对父主键的更改保持同步。

您可能需要确保重置 mysql 表上的自动增量计数器,以便它们高于新 ID 的最高值。更改表 tbl AUTO_INCRMENT = 100;

Basically: No, everything should just work.

Make sure to take into account foreign keys to keep those in sync with your changes to the parent primary key.

You probably need to make sure that you reset the autoincrement counters on your mysql tables so they're higher than the highest of your new IDs. ALTER TABLE tbl AUTO_INCREMENT = 100;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文