.Net Core Identity - 从 Postgresql 迁移到 SQL 服务器

.Net Core Identity - migrate from Postgresql to SQL Server

我有一个带有 Identity 的 .NET Core 3.0 MVC 网站。该数据库是一个 Postgresql 数据库(主要是因为地理数据的性能更好)。但是由于唯一可以使用 postgresql 的人已经退出,我不得不迁移到 SQL 服务器(因为内部政策)。

但是网上没有太多关于此特定迁移的信息。

我有一些想法,但由于设置测试需要相当长的时间,所以我想先在这里查看。

编辑:问题不在于 table 和数据类型,但我关心的是密码和哈希值。我可以将所有值复制到 SQL 数据库吗?人们可以直接登录吗?

table 中有一个密码哈希,我认为它可能使用其他变量(如数据库引擎)来创建哈希。

您需要弄清楚您在 Postgresql 中使用的数据类型以及它们在 MSSQL 中的等价物。大多数数据类型都是 same/similar,而可能有一些没有直接等效的数据类型。

有很多方法可以在数据库之间移动数据。在这种情况下,一种可能的简单方法是使用 pg_dump 转储您的 postgres 数据库。这将为您提供一个包含 sql 语句的文本文件以重新创建数据库。然后您可以根据需要修改 sql 语句以在您的 MSSQL 数据库上工作。

如果应用程序构建在同一个堆栈上,假设您的情况是 Dot net core with Aspnet Identity,那么可以毫无问题地迁移哈希。一切都由 dotnet 处理,它不绑定到底层数据存储。

创建架构并填充它,您就可以开始了。无需重新哈希或让您的用户更改密码。只需移动数据