首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用asp.net核心更改用于迁移的输出文件夹?

问如何用asp.net核心更改用于迁移的输出文件夹?
EN

Stack Overflow用户
提问于 2016-11-19 18:12:05
回答 3查看 79.5K关注 0票数 95

有人知道如何更改以下命令的输出目录吗?

代码语言:javascript
复制
dotnet ef  migrations add Initial --context EsportshubApi.Models.ApplicationDbContext

我试着添加以下选项:

代码语言:javascript
复制
--content-root-path 'Migrations/Identity' 

但这没什么用。还有一个--data-dir选项以及其他目录选项。但它们都不是迁移的输出。

我的问题是,我有两个DbContexts,所以我希望他们的迁移是分开的。

EN

回答 3

Stack Overflow用户

发布于 2019-07-21 16:42:57

对于Package Manager Console,运行以下命令:

代码语言:javascript
复制
PM> Add-Migration 001 -OutputDir "Data/Migrations"

我的结构是:

代码语言:javascript
复制
.AspCoreProject
  -Data
    -Migrations
       20190721162938_001.cs
       MainDbContextModelSnapshot.cs

更新:

要删除最后一次迁移,请使用:

代码语言:javascript
复制
PM> Remove-Migration

注意:如果迁移已经应用于数据库,那么您将得到以下错误:

迁移'20190721162938_001‘已经应用于数据库。还原它然后再试一次。如果迁移已应用于其他数据库,请考虑使用新的迁移来恢复其更改。

然后跑:

代码语言:javascript
复制
PM> Remove-Migration -Force

如果您的迁移不是最后一次迁移。首先,回滚到Update-Database需要的迁移,然后删除迁移后的所有迁移类。

代码语言:javascript
复制
PM> Update-Database -Migration 001

这将在001之后恢复所有迁移。

票数 69
EN

Stack Overflow用户

发布于 2020-12-07 19:19:16

在EFCore5.0中,您可以手动移动迁移文件并更改其命名空间。新的迁移被创建为上一次迁移的兄弟姐妹。或者,您可以在生成时指定目录如下:

.Net核心CLI

代码语言:javascript
复制
dotnet ef migrations add InitialCreate --output-dir Your/Directory

包管理控制台

代码语言:javascript
复制
Add-Migration InitialCreate -OutputDir Your\Directory

EF核心5.0文档

票数 10
EN

Stack Overflow用户

发布于 2019-06-04 11:48:01

您只需要在命令中使用-o或-output选项,

为此,您需要浏览根项目文件夹,例如: C:\ project \SampleAPi\并使用以下命令

代码语言:javascript
复制
dotnet ef  migrations add DbInitial --context SampleAPi.Infrastructure.DbContext -o Infrastructure/Migrations

然后

代码语言:javascript
复制
dotnet ef database update
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40696305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档