我们构建了一个桌面(Windows)应用程序,需要SQL Server来存储数据。现在,如果我们在数据库端进行任何更改,我们需要备份用户应用程序的数据库,修改我们的更改并将其还原回用户的应用程序。
我们已经编写了代码来备份&恢复工作正常的应用程序中的.bak文件。
但是现在我们需要构建一个在线实用程序,用户可以上传数据文件,然后我们的更改可以修改,然后他们可以下载更新数据进行恢复。
请建议我实施此功能的一些想法。
P.S。:我已经在我觉得这是正确的区域发布了这个问题。请更改为适当的区域(如果需要)
谢谢!
答案 0 :(得分:0)
为什么不在数据库上为您的用户提供他们可以运行的脚本(或者您将其作为设置的一部分提供或者具有运行脚本的简单实用程序)以应用更改。
通常,当您在开发环境中进行数据库端更改时,请为其生成相同的脚本并对其进行维护,直到您发布新版本的应用程序为止。
答案 1 :(得分:0)
使用Migrator.NET编写迁移,以更新架构并将架构更改部署为对客户端的可运行更新。
以下是Getting Started documentation:
的示例using Migrator.Framework;
using System.Data;
namespace DBMigration
{
[Migration(20080401110402)]
public class CreateUserTable_001 : Migration
{
public void Up()
{
Database.CreateTable("User",
new Column("UserId", DbType.Int32, ColumnProperties.PrimaryKeyWithIdentity),
new Column("Username", DbType.AnsiString, 25)
);
}
public void Down()
{
Database.RemoveTable("User");
}
}
}
添加/删除列有很好的包装,但您可以执行任意SQL。