以特定顺序执行.sql文件列表

时间:2009-12-23 10:02:31

标签: c#-3.0

我有一个包含许多.sql文件的目录。我能够执行它们。但是,我想以某种顺序执行它们。所以,例如,如果我有4个文件xy.sql,dy.sql, trim.sql和see.sql.I想在see.sql,dy.sql,trim.sql和xy.sql中执行它们。现在发生的是我使用DirectoryInfo对象获取文件列表。现在,我需要排序他们使用我的订单。我正在使用C#3.5

感谢

4 个答案:

答案 0 :(得分:1)

最好重命名文件,以便它们本机排序到正确的顺序。这可以防止必须在某处维护单独的“执行顺序”列表。

使用sql文件名的公共前缀也有点自我记录,例如

exec1_see.sql
exec2_dy.sql
exec3_trim.sql and 
exec4_xy.sql

答案 1 :(得分:0)

目前还不清楚您的文件名的排序算法是什么。它似乎并不完全由文件名决定(例如按字母顺序排列)。

如果您有必须执行这些脚本的任意顺序,我建议您创建一个定义该订单的附加文件,并使用它来推动订购。

如果在编译时知道文件名列表,您可以在代码中对该顺序进行硬编码。但是,我假设您的问题可能会改变文件集,并且可能会添加新文件。如果是这种情况,我会将您推荐给我之前的段落。

答案 2 :(得分:0)

您可以获取包含所有List<string>文件的.sql,并调用List<T>.sort函数对其进行排序,然后根据新排序的序列对文件进行操作。< / p>

答案 3 :(得分:0)

为他们编号并使用我的SimpleScriptRunnerTarantino DB change tool

等工具