Hasura 迁移存储在数据库中的什么位置?
Where are Hasura migrations stored in DB?
- 我有一个包含 3 个环境的 Hasura 项目:本地、暂存和生产环境
- 为了在本地使用 PROD 的最新数据进行开发,我编写了一个在本地转储和恢复 PROD 数据库的脚本
- 但是,当尝试迁移本地还原的 PROD 数据库时,我 运行 遇到了问题,因为迁移状态已损坏。一些迁移已在 PROD 上 运行 但它们在本地显示为不是 运行 尽管它是完全相同的数据库。
- 当 运行ning
hasura migrate status
对抗 PROD 和本地时,我确实看到了不同的结果
- 但是,r 在 PROD 和本地检查 table
hbd_catalog.schema_migrations
时它包含完全相同的数据...
更令人困惑的是,尽管 PROD 正确地 将我的一些迁移标记为 运行,但它们的时间戳不存在于 table 的迁移中产品数据库...
Hasura 是否有其他地方用来跟踪这些迁移?
您使用的是什么版本的 Hasura?在 Hasura 1.x 中,schema_migrations
table 是跟踪迁移的位置,但在 Hasura 2.x 中,这发生了变化,它们现在存储在 hdb_version
table 作为 cli_state
列中的 JSON blob。
从 1.x 升级到 2.x 后,我也有类似的困惑,因为 schema_migrations
table 仍然落后,这让我觉得它仍在使用,但是那里的任何记录都只是残留的,您可以安全地删除 table.
- 我有一个包含 3 个环境的 Hasura 项目:本地、暂存和生产环境
- 为了在本地使用 PROD 的最新数据进行开发,我编写了一个在本地转储和恢复 PROD 数据库的脚本
- 但是,当尝试迁移本地还原的 PROD 数据库时,我 运行 遇到了问题,因为迁移状态已损坏。一些迁移已在 PROD 上 运行 但它们在本地显示为不是 运行 尽管它是完全相同的数据库。
- 当 运行ning
hasura migrate status
对抗 PROD 和本地时,我确实看到了不同的结果 - 但是,r 在 PROD 和本地检查 table
hbd_catalog.schema_migrations
时它包含完全相同的数据...
更令人困惑的是,尽管 PROD 正确地 将我的一些迁移标记为 运行,但它们的时间戳不存在于 table 的迁移中产品数据库...
Hasura 是否有其他地方用来跟踪这些迁移?
您使用的是什么版本的 Hasura?在 Hasura 1.x 中,schema_migrations
table 是跟踪迁移的位置,但在 Hasura 2.x 中,这发生了变化,它们现在存储在 hdb_version
table 作为 cli_state
列中的 JSON blob。
从 1.x 升级到 2.x 后,我也有类似的困惑,因为 schema_migrations
table 仍然落后,这让我觉得它仍在使用,但是那里的任何记录都只是残留的,您可以安全地删除 table.