首页 > 解决方案 > RoR API - 当我将 db 从 sqlite 切换到 postgres 时,API 数组中的任何更新对象都会移动到数组末尾

问题描述

当我使用 ajax 在我的 sqlite API 中更新一个对象时,它会保持我的对象数组的顺序 - 所以前端看起来是一样的。当我在将 db 切换到 postgres 后更新 API 中的对象时,它会更改数组的顺序 - 主要将更新的对象放在数组的末尾。有什么想法吗?

我试过删除和重建数据库,没有运气。我切换回 sqlite 并再次正常工作。

标签: ruby-on-railsrubypostgresql

解决方案


不保证 SQL 顺序。如果您需要特定的订单,最安全的做法是在您的记录中添加一个排序键,并确保您正在执行ORDER BY您的 select 语句。

SQLite 保留您的顺序这一事实是一种实施的“错误”。你不应该依赖引擎做任何超出规范的事情。


推荐阅读