现在我们有一个约 5000 行的 .sql 文件,其中包含表、函数、触发器和其他定义/声明。想法是将其拆分为多个 sql 文件,以防止同一文件被多人同时编辑。然后,就在构建时间之前,这些文件将合并回一个临时文件,然后我们的脚本将在其中导入并创建数据库。
我最初的想法是创建一个 bash 脚本并以适当的顺序连接文件以重建大约 5000 行的 .sql 文件,然后可以将其导入。我很好奇是否有某种类型的 mysql、psql 或其他 linux 特定命令能够以更优雅和更简洁的方式执行此操作?
最佳答案
恕我直言,很难比 cat *.sql
更干净了。只需确保命名文件,以便 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
或类似的东西。
关于mysql - 合并多个 .SQL 文件的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6986049/