我有一个包含许多.sql文件的目录。我能够执行它们。但是,我想以某种顺序执行它们。所以,例如,如果我有4个文件xy.sql,dy.sql, trim.sql和see.sql.I想在see.sql,dy.sql,trim.sql和xy.sql中执行它们。现在发生的是我使用DirectoryInfo对象获取文件列表。现在,我需要排序他们使用我的订单。我正在使用C#3.5
感谢
答案 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)
为他们编号并使用我的SimpleScriptRunner或Tarantino DB change tool
等工具