【问题标题】:Switching between a test database and production database?在测试数据库和生产数据库之间切换?
【发布时间】:2011-10-24 14:45:13
【问题描述】:

当所有 MySql 连接字符串当前都是硬编码时,在 vb.net 和 MySql 中轻松从测试数据库切换到生产数据库的最佳方法是什么?

【问题讨论】:

  • 这正是您不应该对它们进行硬编码的原因。
  • 我想你已经回答了你自己的问题 :)
  • 感谢您的帮助,这是我刚刚接手的其他项目,所以我遇到了很多类似这样的愚蠢事情。

标签: mysql vb.net connection-string


【解决方案1】:

花时间将它们移动到配置文件中。现在可能需要做更多的工作,但在项目的整个生命周期中,您将弥补这段时间。

【讨论】:

    【解决方案2】:

    将硬编码的连接字符串迁移到配置文件中。

    这当然不是一个困难的过程。

    【讨论】:

    • 这取决于你所说的“困难”。我正在向多年前编程的网站添加一些功能,所有内容都是硬编码的。我用一个 servlet 插入了最明显的 SQL 和脚本注入,该 servlet 愚蠢地过滤了任何危险的东西,因为如果我正确地重构它,我将没有足够的时间来添加我在分配的时间内完成的任务。
    【解决方案3】:

    我目前使用两个选项。

    1) 利用web.config transformations。它允许您轻松定义测试和生产环境,并将根据 Visual Studio 的构建配置重新编译 web.config 文件。我在我的博客here 中简要介绍了这一点。

    2) 如果您无法做到“高级”,请按照以下命名约定将配置添加到 web.config 的 connectionStrings 部分:

    • 数据库名.DEV
    • 数据库名称.PROD

    完成后,您可以创建一个简单的函数,根据服务器上的环境提取正确的连接字符串。例如,如果当前服务器的名称是 X,则从 PROD 配置文件中提取连接字符串,否则使用 DEV 配置文件。它做了一些额外的工作,但允许将所有内容保存在一个配置文件中,但仍然可以更改内容,而无需注释/取消注释 web.config 文件中的各个部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 2012-05-29
      • 2016-09-07
      • 1970-01-01
      相关资源
      最近更新 更多