데이터베이스에서 실행중인 최신 마이그레이션 버전을 확인하는 방법이 있는지 알아 내려고하고 있습니다. 특정 데이터베이스의 상태를 알 수 있습니다.현재 데이터베이스에있는 마이그레이션 (버전)을 확인하는 방법입니까?
엔티티 프레임 워크 6에서 트랙을 유지할 테이블을 만드는 것에 대해 읽었습니다. 나는 그것을 시도하지 않았지만 엔티티 프레임 워크 코어와 비슷한 것이 있는지 알고 싶습니다.
데이터베이스에서 실행중인 최신 마이그레이션 버전을 확인하는 방법이 있는지 알아 내려고하고 있습니다. 특정 데이터베이스의 상태를 알 수 있습니다.현재 데이터베이스에있는 마이그레이션 (버전)을 확인하는 방법입니까?
엔티티 프레임 워크 6에서 트랙을 유지할 테이블을 만드는 것에 대해 읽었습니다. 나는 그것을 시도하지 않았지만 엔티티 프레임 워크 코어와 비슷한 것이 있는지 알고 싶습니다.
적어도 어셈블리에 정의되어 있지만 대상 데이터베이스에 적용되지 않은
마이그레이션을 얻을 수 있습니다.
DbMigrator
의 방법getPendingMigrations()
통해
(source).
데이터베이스의 실제 버전을 원하는 경우 MigrationId
열을 포함하는 마이그레이션 내역 테이블 __MigrationHistory
이 실제로 제공됩니다. https://msdn.microsoft.com/en-us/data/dn456841.aspx
다음과 같은 코드를 사용하여 엔티티 프레임 워크 코어에 계류중인 마이그레이션의 목록을 얻을 수 있습니다 : 여기에서 작동하는 방법을 보여주는 기사입니다
var migrationsAssembly = db.GetService<IMigrationsAssembly>();
var historyRepository = db.GetService<IHistoryRepository>();
var all = migrationsAssembly.Migrations.Keys;
var applied = historyRepository.GetAppliedMigrations().Select(r => r.MigrationId);
var pending = all.Except(applied);
이 https://github.com/aspnet/EntityFramework/issues/6110#issuecomment-242220554를 참조하십시오.) (https://github.com/aspnet/EntityFramework/issues/577
dbMigrator.GetPendingMigrations :
당신이 EF 6에있는 것과 유사한 더 공식적인 API에 대한 개방 문제가있다 :
는 다음을 사용하여 문장의 몇 가지를 포함해야 (https://msdn.microsoft.com/en-en/library/system.data.entity.migrations.dbmigrator.getpendingmigrations(v=vs.113).aspx) 내가 올바르게 이해할 경우 찾고있는 내용 일 수 있습니다. – Dominik
EF 6 또는 EF Core에서 보류중인 마이그레이션을 가져 오시겠습니까? –