现在我们有一个约 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
Run Code Online (Sandbox Code Playgroud)
或类似的东西。