现在我们有一个~5000行.sql文件,包含表,函数,触发器和其他定义/声明。我们的想法是将其拆分为多个sql文件,以防止多个人同时编辑同一个文件。然后,在构建时间之前,文件将合并回一个临时文件,然后我们的脚本将导入并创建数据库。
我最初的想法是创建一个bash脚本并以适当的顺序连接文件,以重建可以导入的~5000行.sql文件。我很好奇是否有某种类型的mysql,psql或其他特定于Linux的命令能够以更加优雅和清洁的方式执行此操作?
答案 0 :(得分:4)
恕我直言,cat *.sql
cleaner很难干净。只需确保命名文件,以便shell glob将扩展为正确的包含顺序。即,如果您有make-tables.sql
和load-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
或类似的东西。