我有一个我在C#工作的项目,我想发布一个本地数据库。
问题是,每次我发布软件时,数据库都会被覆盖,我丢失了所有数据。
如何设置项目以使本地数据库不被覆盖?
答案 0 :(得分:1)
答案 1 :(得分:0)
据我所知,您的本地数据库是包含在部署包中的文件。基于此:
正确的方法
从版本到版本,您可能需要更改数据库结构或使用新功能扩展它。所以,我建议从部署包中排除本地数据库文件。 而不是复制数据库文件使用脚本来创建数据库:
结果你应该有这样的东西(样本):
public static void Main(object[] args)
{
CreateDatabaseIfNotExists();
RunDatabaseUpdateQueries();
InsertInitialDataIfDatabaseNew();
// Rest of your code...
}
优点:您将获得灵活的解决方案,可在您提供新版本时更改数据库。 缺点:您必须编写更新脚本并在应用程序启动时运行它们。
解决方法强>
作为建议流程的替代方案,您可以简单地执行下一步:
结果你应该有这样的东西(样本):
public static void Main(object[] args)
{
CreateDatabaseIfNotExists();
// Rest of your code...
}
优点:您需要尽力实施此类流程。
缺点:解决方案不灵活,如果在将来的版本中更新数据库结构,您将面临问题。