Github检查本地数据库

时间:2016-12-08 18:53:58

标签: c# git visual-studio-2015

我正在使用Visual Studio Enterprise 2015以及Github插件。

对于作业,我必须将C#与数据库一起使用,这在VS中不是问题。但是,我想将本地数据库检入存储库,因此我可以在多台计算机上处​​理该项目。

我是唯一一个将使用此存储库的人(它是私有的)。除了我自己之外,不会有任何变化。

我知道这并不意味着这样做,但我真的希望继续使用本地数据库以简化目的。

我在这个主题上找到this回答,但我不确定他想说什么。

3 个答案:

答案 0 :(得分:1)

将Visual Studio与SQL Server Developer工具一起使用时,可以将数据库架构和初始数据编写为Visual Studio项目。然后,您将使用Visual Studio项目来定义数据库的外观,然后您可以在还原项目时使用该项目按需创建SQL Server LocalDB或SQL Server Express数据库。您可以在本地数据库和Visual Studio项目之间同步架构。把差异交给git。

或者,您可以使用类似Entity Framework的内容来定义数据库模式,或使用Entity Framework Code First注释将对象模型映射到数据库模式。结合实体框架迁移和实体框架数据初始化程序,您可以指示应用程序在启动时重建数据库(如果缺少数据库)。

在Windows上使用Git预提交挂钩并不是最简单的设置,Visual Studio 2012-2015不会执行您的挂钩,您必须通过命令行执行所有git操作,以便这些挂钩开始工作。 Visual Studio 2017使用git.exe命令行工具并且应该能够运行你的钩子,但是如果你使用普通的命令shell而不是bash shell(linux shell),对钩子的支持仍然有限。大多数钩子都是作为Linux shell脚本或其他脚本语言实现的,并不总是在Windows上完全支持。

根据文件大小,您可以始终只提交数据库文件本身,即二进制文件。虽然git通常不喜欢二进制文件,但没有什么能阻止你提交最新的状态并以这种方式将它转移到另一台机器上。

答案 1 :(得分:1)

我真的非常感谢你提出这样一个让我开心的美丽问题。我找到了这个博客,它确实解释了如何完成这项工作。我意识到我将需要这个:)。请查看synchronizing-a-mysql-database-with-git-and-git-hooks 希望这有帮助。

答案 2 :(得分:0)

我通常只是将数据库构建到存储库中的指令,无论是.sql文件还是脚本来执行还原数据库所需的命令。

像sqlite这样的数据库只存储在一个文件中,您可以轻松地将其放入git存储库中。

如果您正在寻找更具体的想法,您可能想要分享您正在使用的数据库。