执行脚本图

vbe*_*nce 5 sql language-agnostic graph-theory

我有一些(SQL)脚本.他们中的大多数都有一些要求:之前应该运行的其他脚本.

您可以将合并的依赖关系树想象为有向图.我希望能够使图中的某个节点"无效",从而产生一个复合脚本,其中包含应重新运行以达到就绪状态的所有内容(按正确的顺序).

我想起了像Debian启动过程......有点扭曲.

编辑:如果有人需要一个以W开头并以问号结尾的明确问题,我可以给出最接近的问题: 如何实现上述行为.

Edit2:理想的解决方案是扫描与模式匹配的文件,并从第一行(注释)行读取依赖关系信息.

wil*_*ser 4

你可以使用make。创建标记文件的命名约定(也许使用脚本中的日志文件) Makefile 可以由脚本生成。例子:

stamp1: stamp2 stamp3 script1.sql
     sql <script1.sql > $@

stamp2: stamp3 stamp5 script2.sql
     sql <script2.sql > $@

...
Run Code Online (Sandbox Code Playgroud)

编辑:Makefile 是有向无环图。在上面的片段中,stamp1“依赖于”{stamp2,stamp3,script3.sql}:如果其中任何一个发生更改,则其下面的行 (sql <>) 将被执行。因此,如果 script1 应始终在 script2 之后运行,则上述片段将适用。