背景信息
我正在编写一个用ASP.NET Core2.1.0编写的应用程序,PostgreSQL作为其后端数据库。我用EF核心作为ORM。
应用程序具有身份验证/授权需求,因此在启动应用程序时,
我正在使用管理员用户帐户对数据库进行种子设定
. 当地一切都很好。
我现在希望将应用程序部署到服务器。我已经部署了代码,并且使用了ef core的迁移命令来获取在远程数据库上创建表的脚本。这也进展顺利。
现在的问题是种子数据
. 我不知道将种子数据移出生产数据库的最佳方法是什么。
到目前为止我做了什么?
通过pgadmin,我创建了数据库中记录的简单备份。这是一个
screencast of exactly how
我做到了,我不确定这是否是正确的方法,但生成的脚本“看起来不错”。
然后,我通过ssh登录到我的生产服务器,并将用户切换到postgres用户,并运行以下命令:
psql -f phoneden-data.sql "Phoneden-Db-C3del"
这似乎可行,我运行了下面的select语句,并且可以看到我的记录:
SELECT * FROM "AspNetUsers";
我的记录在中,但当我尝试使用管理员用户登录时,它说它无法验证我的登录详细信息。
所以我把数据从本地数据库移到生产数据库的方式有问题。
我做错什么了?