代码之家  ›  专栏  ›  技术社区  ›  Ryan Shripat Simon_Weaver

更改架构后更新我的ASP.NET应用程序/数据库的最佳方法是什么?

  •  2
  • Ryan Shripat Simon_Weaver  · 技术社区  · 17 年前

    我的应用程序的几个主要数据库表中的一个核心字段需要从varchar(5)更改为varchar(8)。依赖于这些表的存储过程列表非常长,更不用说在数据访问层(带有TableAdapter的ASP.NET 2.0数据集)中必须进行的更改。

    有没有自动的方法(和 安全地 )更改所有重要字段的类型,并将更改传播到依赖它的所有存储过程/数据访问层调用?

    我正在使用SQL Server 2005数据库。

    3 回复  |  直到 17 年前
        1
  •  3
  •   tvanfosson    17 年前

    你可能对这个感兴趣 essay 作者:Scott Ambler,关于数据库重构。我想他也有一本书。我认为,基本的想法是引入一个具有适当宽度的新列,将现有数据复制到新列,实现一个触发器来同步任何新的插入/更新,迁移您的SP/DAL以使用新列,然后在完成后删除旧列。显然,所有新代码都使用新列。不幸的是,我不知道任何自动更新您的SP/DAL的方法。

        2
  •  1
  •   Don    17 年前

    虽然它现在对您没有太大帮助,但您(将来)可以使用代码生成工具来生成数据访问层和任何必要(非自定义)存储过程。我使用.nettier并更改字段名、数据类型或列大小(如您的情况)非常简单。

    如果你对.nettiers之类的东西感兴趣,你可以查看他们的网站。 here .

    不幸的是,我不知道有什么方法可以轻松地更新你所拥有的一切。但是,您可以使用诸如redgate中的SQL重构之类的工具来处理所有数据库更改(请参见 here )

        3
  •  1
  •   Rob Cooper    17 年前

    CommandBuilder 可能对你有用,也可能不有用。它有“赞成”和“反对”(就像我猜的任何事情)。至于在这个阶段它对你有多好,我不知道,但是它存在并且可以使用,所以我认为我应该提高它:)

    我个人认为这是一个观察我的数据访问层的机会。你所改变的是很小的,但它对系统产生了深远的影响, 为什么?

    如果你预见到系统会有更多的变化,我肯定会更多地考虑DAL的结构,以及为什么一个小的变化会有如此大的影响。

    推荐文章