$ls upgrade/ 01-foo.sql 02-bar.sql 02-baz.sql 03-foo1.sql 04-buz.sql
我已经获得了当前数据库的版本,例如DB_VERSION = 02
我现在如何轻松地循环并使用大于$DB_VERSION的前缀对文件进行全局处理,并按顺序运行它们?
即我想做
for f in ???? ; do MysqL < $f done
并且,在DB_VERSION = 02的情况下,按顺序运行03-foo1.sql和04-buz.sql.
解决方法:
初始设置:触摸01-foo.sql 02-bar.sql 02-baz.sql 03-foo1.sql 04-buz.sql 09-quux.sql 10-lala.sql 99-omg.sql
实际代码:curr = 02;对于文件?? – * .sql; do ver =“${file:0:2}”; [“$ver”-gt“$curr”]&& echo“$file”; DONE
即,将当前版本定义为02,然后查看所有文件(globbing是按字母顺序排列),如果它们的数字前缀在数字上更大,则执行它们.替换MysqL(或你有什么)的echo.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。