合并多个.SQL文件的工具

时间:2011-08-08 17:28:23

标签: mysql sql unix

现在我们有一个~5000行.sql文件,包含表,函数,触发器和其他定义/声明。我们的想法是将其拆分为多个sql文件,以防止多个人同时编辑同一个文件。然后,在构建时间之前,文件将合并回一个临时文件,然后我们的脚本将导入并创建数据库。

我最初的想法是创建一个bash脚本并以适当的顺序连接文件,以重建可以导入的~5000行.sql文件。我很好奇是否有某种类型的mysql,psql或其他特定于Linux的命令能够以更加优雅和清洁的方式执行此操作?

1 个答案:

答案 0 :(得分:4)

恕我直言,cat *.sql cleaner很难干净。只需确保命名文件,以便shell glob将扩展为正确的包含顺序。即,如果您有make-tables.sqlload-tables.sql,则无法使用简单的*,因为这会将load-置于make-之前。

在每个文件前面加上一个数字前缀可能会提醒您旧学校的BASIC行号,但它可以正常工作。

01-init.sql
10-create-tables.sql
15-create-indexes.sql
20-create-functions.sql
25-create-triggers.sql
75-load-data.sql
99-run-reports.sql

或类似的东西。