【发布时间】:2020-02-10 08:08:11
【问题描述】:
我有一个带有 Identity 的 .NET Core 3.0 MVC 网站。该数据库是一个 Postgresql 数据库(主要是因为地理数据的性能更好)。但是由于唯一可以使用 postgresql 的人已经退出,我必须迁移到 SQL Server(由于内部政策)。
但在大网上并没有太多关于此特定迁移的信息。
我有一些想法,但由于设置测试需要相当长的时间,我想先在这里查看。
- 是否只是在数据库之间复制所有表的问题(复制/导出数据 - 更改连接字符串 - 人们甚至不会注意到更改)?
- 使用实体框架编写一个小脚本,使用默认密码将所有用户复制到新数据库 - 用户必须在首次登录时更改密码
- 人们必须重新注册
- 以上的组合
编辑:问题不在于表和数据类型,但我关心的是密码和哈希。我可以将所有值复制到 SQL 数据库,然后人们可以登录吗?
表中有一个密码哈希,我认为它可能使用其他变量(如数据库引擎)来创建哈希。
【问题讨论】:
-
如果应用程序构建在同一个堆栈上。在您的情况下,Dot net core 可以说是 Aspnet Identity,然后可以毫无问题地迁移哈希。一切都由 dotnet 处理,并且不绑定到底层数据存储。创建模式并填充它,你会很高兴的。无需重新散列或让您的用户更改他们的密码。只需移动数据
-
@cleftheris 感谢您的回复。我要测试这个,可能下周。仍然掌握stackoverflow的窍门,但我认为我无法将您的答案标记为正确(如果结果证明它是正确的)
-
@kenhas 我将评论移至答案,因此如果一切顺利,您可以将其标记为正确。
-
你可以在这里使用我的答案:stackoverflow.com/questions/6563846/…
标签: sql-server postgresql asp.net-core asp.net-core-identity