小编bka*_*521的帖子

运行相互依赖的sql脚本

我有一个在后端使用 postgres 数据库的项目,我正在努力创建一个 Dockerfile,它可以自动设置数据库的本地开发实例。该数据库包含大量函数,这些函数过去一直存储在上下文相关的 sql 文件中,例如 users.sql、company.sql。这很好,因为无论何时进行更改,我都可以简单地执行REPLACE所有视图的相关 sql 文件并删除/重新创建所有函数。

然而,当试图在一个新的 postgres 实例上运行这些脚本时(在CREATEing 所有表之后),它们会失败,因为大多数视图/函数引用了尚未定义的其他视图函数。

我已经开始调查是否有一个特定的顺序我可以运行脚本来避免这个问题,但由于它们的设计没有考虑到这个目的,这可能是不可能的,并且有大量实体在起作用,所以这很可能是一项不平凡的任务。

除了重组脚本之外,还有什么方法可以实现这一目标?

sql postgresql

2
推荐指数
1
解决办法
1674
查看次数

标签 统计

postgresql ×1

sql ×1