net9 code first 数据库同步问题记录
Unable to create a 'DbContext' of type 'RuntimeType'.启动项必须为设置web项目设置为默认项目,不能设置类库或DBFactory。
1.在工具栏上面的视图>其它窗口>程序包管理器控制台,打开程序包管理控制台
Add-Migration initDatabase
TIIP
这里值得注意的是initDatabase 是我们自定义迁移文件的名称,且不能重复,也就是说,下次你再进行迁移的时候就不能于重复使用这个名称,需要另外起名。
等待数据库迁移文件生成后,我们再输入以下命令按回车键执行,当我们看到执行到Done时,证明已经成功生成了数据库:
Update-Database
2.下次进行数据库迁移
在我们对Model的类进行修改时,如果涉及到增删改字段,需要同步到数据库里面,这时候你就需要再一次迁移,依次的操作和上面是一样的,执行命令顺序如:
Add-Migration 自定义名称
Update-Database
3.删除数据库和迁移文件
当我们手动调整了数据库结构或更改了类名或属性后,造成迁移文件和数据库不同步时,数据库再次迁移就会失败,此时我们打算重做数据库,这里,我们就需要先删除数据库,再执行删除迁移文件,具体命令如下:
Drop-Database //删除数据库
Remove-Migration //删除迁移文件,一次删除一条最新的数据迁移文件
Migration 常用命令
Add-Migration Init --其中Init是你的版本名称
update-database Init --更新数据库操作 init为版本名称
Add-Migration EditPwdLength --同上,不在解释
update-database EditPwdLength
script-migration --生成脚本
remove-migration --删除最新创建的迁移,add-migration后,还没有update-database时候可以使用,updata后不可使用
migration数据迁移非常的简单,大家在学习的时候,如果只有一个项目,实际上迁移是相对非常顺利的,坑是当你在生产环境中,项目越来越多,比如微服务有10几个项目的时候,就会遇到Build failed.的情况;


浙公网安备 33010602011771号