gpt4 book ai didi

mysql - 如何在 ruby​​ on rails 中动态地将列添加到现有数据库

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:43 24 4
gpt4 key购买 nike

我在我的后端使用 ruby​​ on rails 和 mysql2 作为数据库,你可以从我的昵称猜到我是 rails 的新手。

{
"last_viewed_categorie" : "shirt",
"last_name" : "herose",
"login_screen_apperaed" : 1,
"item_added_to_cart" : 5,
"first_name" : "george"
}

这是我当前接收到我的数据库的 json 格式。我想要的是这样的东西

jsonColumns //array that contains keys of json

jsonColumns.each do |jsonColumn|
unless @existingColumnNames.include?(jsonColumn)

"Alter table mutable add_column #{jsonColumn}"

我似乎找不到任何方法来运行这样的东西,

有可能吗?

如果不可能,您可以提供类似的吗?

谢谢

最佳答案

动态更改表不是您想要做的事情。更好的计划是使用序列化列,您可以在其中创建一个可以存储任意数据的 LONGBLOB 列,并在您的模型中使用 serialize 声明它。

Rails 中的 ActiveRecord 层实际上要求您的模式是静态的、不变的,除了计划的迁移。在运行时引入任意列会使列缓存不一致,并可能导致问题。

如果您要处理大量 JSON 数据,您可能需要考虑使用 PostgreSQL它有一个 native JSON column type Rails 支持的。这使得存储、查询和操作这些结果变得更加容易。

关于mysql - 如何在 ruby​​ on rails 中动态地将列添加到现有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793396/

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