Ami*_*abh 20 sql-server asp.net version-control database-management
开发基于数据库的应用程序的最佳方法是什么?我们可以有两种方法.
各自的优点和缺点是什么?哪一种更好的方式?
编辑:更多的开发人员应该更新数据库,我们已经在每台开发人员机器上安装了SqlExpress 2005.
编辑:我们大多数人都在建议一个共同的数据库.但是,如果其中一个开发人员修改了代码和数据库架构.他没有提交代码更改,但架构更改已转到公共数据库.它不会破坏其他开发人员的代码.
phi*_*gen 18
两者 -
我喜欢单个数据库,在上线之前测试更改,或者进入"正式"测试环境.这是您的开发人员的理智检查; 它与实时系统保持同步,并确保他们始终认为彼此的变化.规则应该是,如果它们可能会破坏其他内容,则不会在此处进行更改.
当多个开发人员进行更新时,每个开发人员的数据库都很棒(甚至是必不可少的).它允许他们所需的所有开发灵活性,而不会为其他开发人员破坏事物.
关键是要有一个流程,用于将数据库更改从开发转移到您的实时系统,并坚持您的流程.
Mar*_*ams 10
共享数据库
个人数据库
我们使用共享的开发数据库,它很好地工作.我们的架构很少以一种使其向后兼容的方式发生变化,但偶尔会在我们上线之前进行设计更改,我们只是要求其他开发人员进行更新.
我们有单独的开发应用程序(Web)服务器,但它们共享相同的数据库.我们的开发人员可以选择使用他们自己的数据库,因为他们知道如何设置它,并且有时会这样做,但只是暂时的.对我们来说,标准是共享数据库.
以为我会抛弃它,但为什么不让每个开发人员在他们的桌面上托管他们自己的SQL Server Developer实例,然后为每个其他环境(开发,QA和prod)提供共享服务器?我认为即使Visual Studio Pro附带的基本MSDN(如果您选择它)也包含SQL Server Developer的许可证.
开发人员可以在不影响其他人的情况下在他们的桌面上工作,然后您可以让他们根据您的需要将代码移动到下一个共享环境(随意,每日/每周构建等).
编辑: 我应该补充说,桌面实例允许开发人员执行DBA经常限制共享环境的事情.这包括数据库创建,备份/恢复,分析器等.这些事情并不重要,但它们可以让开发人员提高效率,同时降低他们对DBA的要求.
共享环境对于测试是完全必要的 - 我不建议从桌面到生产.但是,您可以通过允许开发人员以相对较小的成本100%控制给定的数据库环境(包括与其他人的隔离)来添加这么多.