栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Git跟踪mysql模式-一些问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Git跟踪mysql模式-一些问题

假设您已经有一个git repo,请在shell脚本中执行以下操作或执行以下操作:

#!/bin/bash -e# -e means exit if any command failsDBHOST=dbhost.yourdomain.comDBUSER=dbuserDBPASS=dbpass # do this in a more secure fashionDBNAME=dbnameGITREPO=/path/to/git/repocd $GITREPOmysqldump -h $DBHOST -u $DBUSER -p$DBPASS -d $DBNAME > $GITREPO/schema.sql # the -d flag means "no data"git add schema.sqlgit commit -m "$DBNAME schema version $(`date`)"git push # assuming you have a remote to push to

然后每天从cron作业或您拥有的内容中启动此脚本。

编辑:通过将脚本放入$ gitdir / hooks / pre- commit
(名称很重要)中,该脚本将在每次提交之前执行。这样,每次提交都可以捕获数据库模式的状态,这很有意义。如果您每次提交时都自动运行此sql脚本,则将删除数据库,这没有任何意义。

#!/bin/sh

此行指定它是一个shell脚本。

mysqldump -u DBUSER -pDBPASSWORD  DATAbase --no-data=true> SQLVersionControl/vc.sql

这与我上面的答案相同;仅从数据库中获取DDL并将其存储在文件中。

git add SQLVersionControl/vc.sql

这会将SQL文件添加到对存储库的每次提交中。

exit 0

这将成功退出脚本。这可能很危险。如果

mysqldump
git add
失败,您可能会吹走想要保留的东西。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418786.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号