source

asp.net Core를 사용한 마이그레이션을 위해 출력 폴더를 변경하는 방법은 무엇입니까?

ittop 2023. 5. 2. 22:57
반응형

asp.net Core를 사용한 마이그레이션을 위해 출력 폴더를 변경하는 방법은 무엇입니까?

다음 명령의 출력 디렉터리를 변경하는 방법을 아는 사람이 있습니까?

dotnet ef  migrations add Initial --context EsportshubApi.Models.ApplicationDbContext

옵션을 추가하려고 했습니다.

--content-root-path 'Migrations/Identity' 

하지만 그것은 아무 소용이 없습니다.있습니다.--data-dir디렉터리가 있는 다른 옵션도 있습니다.하지만 그 중 어느 것도 이주를 위한 결과물은 아닙니다.

문제는 제가 2개의 DbContext를 가지고 있어서 그들의 마이그레이션이 분리되기를 원한다는 것입니다.

dotnet ef migrations add Initial --context EsportshubApi.Models.ApplicationDbContext -o YourFolderPath

도트넷 마이그레이션 추가

새 마이그레이션을 추가합니다.

인수:

논쟁 묘사
<NAME> 마이그레이션의 이름입니다.

옵션:

선택 짧다 묘사
--output-dir <PATH> -o 파일을 출력하는 데 사용되는 디렉터리입니다.경로는 대상 프로젝트 디렉터리에 상대적입니다.기본값은 "마이그레이션"입니다.
--namespace <NAMESPACE> -n 생성된 클래스에 사용할 네임스페이스입니다.기본적으로 출력 디렉터리에서 생성됩니다.EF Core 5.0에 추가되었습니다.

또한 다음은 이 명령과 함께 사용할 수 있는 일반적인 옵션입니다.

원천

위해서Package Manager Console다음 명령을 실행합니다.

PM> Add-Migration 001 -OutputDir "Data/Migrations"

내 구조는 다음과 같습니다.

.AspCoreProject
  -Data
    -Migrations
       20190721162938_001.cs
       MainDbContextModelSnapshot.cs

업데이트:

마지막 마이그레이션을 제거하려면 다음을 사용

PM> Remove-Migration

참고: 마이그레이션이 이미 데이터베이스에 적용된 경우 다음 오류가 발생합니다.

마이그레이션 '20190721162938_001'이(가) 이미 데이터베이스에 적용되었습니다.다시 설정하고 다시 시도하십시오.마이그레이션이 다른 데이터베이스에 적용된 경우, 새 마이그레이션을 사용하여 변경사항을 되돌리는 것이 좋습니다.

그런 다음 실행:

PM> Remove-Migration -Force

마이그레이션이 마지막 마이그레이션이 아닌 경우.먼저 필요한 마이그레이션으로 롤백합니다.Update-Database그런 다음 해당 마이그레이션 후 모든 마이그레이션 클래스를 삭제합니다.

PM> Update-Database -Migration 001

다음 이후의 모든 마이그레이션을 되돌립니다.001

EF Core 5.0에서는 마이그레이션 파일을 자유롭게 이동하고 네임스페이스를 수동으로 변경할 수 있습니다.새 마이그레이션은 마지막 마이그레이션의 형제로 생성됩니다.또는 다음과 같이 생성 시 디렉터리를 지정할 수 있습니다.

.Net 코어 CLI

dotnet ef migrations add InitialCreate --output-dir Your/Directory

패키지 관리자 콘솔

Add-Migration InitialCreate -OutputDir Your\Directory

EF Core 5.0 설명서

명령어와 함께 -o Or --output 옵션을 사용하면 됩니다.

이렇게 하려면 루트 프로젝트 폴더(예: C:\project\Sample)를 탐색해야 합니다.API\ 및 이 명령 사용

dotnet ef  migrations add DbInitial --context SampleAPi.Infrastructure.DbContext -o Infrastructure/Migrations

그리고 나서.

dotnet ef database update

언급URL : https://stackoverflow.com/questions/40696305/how-to-change-the-output-folder-for-migrations-with-asp-net-core

반응형