【问题标题】:Suggestions/advice on how to do personal development on a web-server (asp.net) - WRG to Database management during development关于如何在 Web 服务器 (asp.net) 上进行个人开发的建议/建议 - WRG 到开发期间的数据库管理
【发布时间】:2011-02-04 08:39:28
【问题描述】:

我确信其他人正在这样做。我只是在寻求一些关于如何做这件事的最佳方法的建议。

问题: 我有一个作为爱好而创建的网络服务器——它支持我的移动应用程序。我有两台机器用来处理代码,因此需要让它们保持同步。我更喜欢使用本地数据库进行开发,然后在我想发布站点时将数据库部署到主机。问题是有 2 台机器,我不确定如何让数据库保持同步。更重要的是,我真的不太擅长数据库,所以我想要 VS 自带的 Schema 比较器之类的东西,让我可以将主机 DB 与本地 DB 同步。

以下是我可以使用的工具: 1.Visual Studio 2010 2.本地SQL Express 3. 允许我使用 SQL 的托管服务器。 4. Assembla/svn - 我将它用于我的源代码控制。

我目前在做什么: 我没有使用本地数据库,而是在主机上使用远程数据库进行开发。这样做的好处是我不需要在我的 2 台机器上同步数据库(因为我使用相同的远程机器进行开发)。这样做的坏处是我无法使用 VS 附带的工具来同步架构,因为我的主机阻止了源数据库上所需的某些属性。

那么..你们是怎么做到的?

【问题讨论】:

    标签: database development-environment


    【解决方案1】:

    我通过在代码中维护模式来做到这一点 - 基本上是一组 DDL(数据定义语言 - 即用于维护模式的 SQL)并在数据库中包含一个版本表。

    然后您可以运行以下代码:

    1. 如果数据库不存在,则使用版本表以外的其他架构创建它
    2. 如果有数据库,则检查版本号
    3. 如果版本低于当前版本,则运行将架构更新为当前版本的查询
    4. 如果版本高于当前版本 - 停止并且不要运行应用程序。

    缺点是维护代码的工作量很小。好处是让您的数据库模式保持同步变得非常容易。

    我在这里的某个地方有一个很长的示例 - 我会在有时间时再次尝试找到它。

    【讨论】:

    • :(这就是我想要避免的。我对这种事情很糟糕。感谢您的回答-我很感激,但不是我想要的(我应该说出来-抱歉)。
    • 这方面的代码比较简单——一定要记得找到链接——你可以使用 SQL Server Management Studio 为你生成 SQL,这样你就不必自己动手了。剩下的只是你已经知道该怎么做的事情......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2011-06-01
    • 1970-01-01
    • 2012-07-18
    • 2020-02-22
    • 2022-10-24
    • 2015-01-30
    相关资源
    最近更新 更多