gpt4 book ai didi

mysql - 在 MySQL 数据库上使用版本控制 (Git)

转载 作者:行者123 更新时间:2023-11-30 21:50:55 29 4
gpt4 key购买 nike

我是一名 WordPress 设计师/开发人员,越来越多地使用版本控制,尤其是 Git,尽管我确实在某些项目中使用 SVN。我目前正在使用 Beanstalk 作为我的远程仓库。

将所有 WordPress 文件添加到我的存储库中没有问题,如果我想我知道我可以 .gitignore wp-config 文件,但由于我是目前唯一的开发人员,而且这些项目是封闭源代码,这真的没什么意义。

与任何 CMS 一样,WordPress 在很大程度上依赖于数据库来保存文本内容和许多设置,具体取决于我使用的特定插件/主题配置。我想知道在数据库上使用版本控制的最佳方式是什么,如果可能的话。我想我可以做一个 SQL 转储,尽管我的 MySQL 服务器在 Windows 上运行(读作:我不知道该怎么做),然后将 SQL 转储添加到我的存储库中。但是,当我直播某些内容时,这会带来巨大的安全威胁。

是否有公认的做法?

最佳答案

您可以在 git 存储库中备份您的数据库。当然,如果您将数据以二进制形式放入 git,您将失去 git 使用差异(更改)有效存储数据的所有能力。因此,首要的最佳实践是:以文本序列化格式存储数据。

mysqldump 是一个合适的程序来帮助你做到这一点。虽然它并不完美。如果有任何东西扰乱了项目的序列化顺序(例如,由于创建新表等),那么人为中断将进入差异。这将降低存储效率。您可以编写一个自定义序列化程序来仅序列化更改——但是您正在做 git 已经擅长的艰苦工作。只需使用 sql 转储。

话虽如此,当开发人员谈论将数据库放入 git 时,您想要做的并不是他们通常的意思。例如,如果您阅读@eggyal ( link to codinghorror ) 发布的链接,您将看到实际放置在 git 中的是生成初始数据库所需的脚本。可能还有其他脚本,例如用干净状态填充数据库数据或用测试数据填充它的脚本。所有这些 sql 脚本都是文本文件,并且与您从 mysqldump 获得的 sql 转储的格式几乎相同。因此,您没有理由不能对日常数据也这样做。

关于mysql - 在 MySQL 数据库上使用版本控制 (Git),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47319061/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com