【问题标题】:How can I update the schema of a production database in a VWD solution without overwriting data?如何在不覆盖数据的情况下更新 VWD 解决方案中的生产数据库架构?
【发布时间】:2011-03-24 03:29:38
【问题描述】:

我有一个数据驱动网站(SQL Express 自动附加的 mdf 文件),它在 Visual Web Developer 2010 Express 中构建为本地站点,然后部署到生产服务器。该站点存储在本地并签入 SVN 以进行版本控制。对本地副本(使用内置的开发 Web 服务器)进行应用程序更新,然后使用复制网站功能将其复制到生产服务器。

我遇到的问题是可以在本地测试对数据库架构所做的任何更改,但是,似乎没有任何方法可以将这些更改复制到生产数据库而不覆盖包括生产数据在内的整个文件.

我想我可以直接连接到生产数据库并手动进行必要的更改,但是,这会留下很大的错误空间,尤其是在进行了大量更改的情况下。我也没有在 VWD 中看到任何方式来编写更改脚本。

所以我的问题是:在 VWD 2010 Express 中处理这些数据库架构更新的最佳方法是什么?

搜索 Stack Overflow 和 Google 都没有结果,因此非常感谢您的帮助!

干杯,
乙肝

【问题讨论】:

    标签: sql database schema vwdexpress


    【解决方案1】:

    我相信您指的是所谓的 SQL Express 用户实例。来自this 关于 SQL Express 用户实例的优秀文章,一个名为 SSEUtil 的工具可用于针对 本地 用户实例执行命令。请注意,我说的是本地

    不幸的是,这不是您关于如何最好地处理 VWD 2010 中的架构更新的问题的直接答案。原因是没有任何方法可以做到这一点。用户实例是本地的(连接使用命名管道),您需要在生产环境中进行更新。使用 SSEUtil 比在服务器上安装 VWD 2010 或编写自己的代码手动更新要好。

    确实,一旦数据库发布到生产环境中,更新脚本是更新内容的唯一方式。显然,您很少能备份您的开发数据库并恢复到生产环境。有专业级的products 可以简化这个过程,但真正更新脚本是你开始的地方。

    一个建议:如果可以的话,我会从用户实例化 SQL Express 转移到至少一个常规 SQL Express 实例。

    【讨论】:

    • 感谢 JasonCoder!我害怕那会是答案。我不知道 SSEUtil,有时间我会尝试一下。我已经看过您提到的产品,但这次不在预算之内(对于其他感兴趣的人,我确实找到了另一个类似的产品,称为 xSQL,它有一个免费的“精简版”版本)。
    • 继续... 是的,我正在使用用户实例。我可能会采纳您的建议并将所有内容移至标准 SQL Express 实例。是否有可以推荐的使用 VWD(用户或标准实例)创建/使用更新脚本的最佳实践指南?
    • 因此,无论您如何创建更新脚本,请确保针对生产数据库的 UAT/Test 版本测试更新。这样,当您实际部署架构更新时,您就不会在生产数据库上测试更新。祝你好运!
    猜你喜欢
    • 2013-03-19
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 2013-12-26
    • 2022-10-02
    • 2023-02-15
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多