我们的存储库中有大量数据库更新查询,可以在部署时按顺序运行。显然这些需要按创建顺序运行,因为1个文件可能是CREATE TABLE
个语句的加载,下一个INSERTS
加载到该表中。
因为Master分支引用了当前的Live DB,所以我想应用尚未应用的所有增量,即所有在当前分支中但不在Master分支中的增量。
我的bash代码目前执行此操作,获取我的分支中不属于主分支的所有新文件:
for f in $(git diff --name-only --diff-filter=A master /sitepath/deltas/)
do
mysql --verbose -h $HOST -u$2 $PWORD --database $1 < "$f"
echo "importing $f"
done
但是这会创建一个按文件名按字母顺序排序的列表。哪种工作,但我需要从第一个文件订购到最后。