是否有将数据加载到数据库中的最佳做法,以便与新的应用程序安装一起使用?例如,为了运行foo应用程序,它甚至需要一些基本数据才能启动。我用了几个选项,在过去:什么是预加载数据的好方法?
对于需要每一行TSQL预加载:
IF NOT EXISTS (SELECT * FROM Master.Site WHERE Name = @SiteName)
INSERT INTO [Master].[Site] ([EnterpriseID], [Name], [LastModifiedTime], [LastModifiedUser])
VALUES (@EnterpriseId, @SiteName, GETDATE(), @LastModifiedUser)
另一种选择是一个电子表格。每个选项卡都代表一张表格,并且我们意识到我们需要将数据输入到电子表格中。然后,程序可以读取此电子表格并填充数据库。
有复杂的因素,包括表之间的关系。所以,它不像加载表格那样简单。例如,如果我们创建Security.Member行,那么我们想要将这些成员添加到Security.Role中,我们需要一种维护该关系的方法。
另一个因素是不是所有的数据库都会丢失这些数据。一些地点已经拥有大部分的数据,其他地区(可能是全球的新地点)将从头开始。
任何想法表示赞赏。
看看这个SO问题不给你一些更好的想法:http://stackoverflow.com/questions/2503696/database-change-management-setup-for-initial-create-scripts-subsequent-migrati – 2010-06-11 16:15:08