DbUpdater.EFCore.CLI 1.0.5-beta

This is a prerelease version of DbUpdater.EFCore.CLI.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DbUpdater.EFCore.CLI --version 1.0.5-beta                
NuGet\Install-Package DbUpdater.EFCore.CLI -Version 1.0.5-beta                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DbUpdater.EFCore.CLI" Version="1.0.5-beta" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DbUpdater.EFCore.CLI --version 1.0.5-beta                
#r "nuget: DbUpdater.EFCore.CLI, 1.0.5-beta"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DbUpdater.EFCore.CLI as a Cake Addin
#addin nuget:?package=DbUpdater.EFCore.CLI&version=1.0.5-beta&prerelease

// Install DbUpdater.EFCore.CLI as a Cake Tool
#tool nuget:?package=DbUpdater.EFCore.CLI&version=1.0.5-beta&prerelease                

Introduction

The DbUpdater.EFCore.CLI is a command line tool that can be used to persist database migrations to the database. The project stems from the idea to include both code-first entities and SQL-based scripts in the same code repository and CI/CD process. while code-first migrations can be persisted by calling the Update-Database command, this is not feasible when the code have been published. We never want to point to production using visual studio in an enterprise environment. DbUpdater.EFCore.CLI enables all your code to live within the same code base and also allows all deployments (code and data) to be implemented through the same CI / CD pipeline. The DbUpdater.EFCore.CLI make provisions for migrations, script execution and custom data seeding instead of using the builder.HasData method from the Migration builder.

Installation

Installing DbUpdater.EFCore.CLI via Package Manager Console

Install-Package DbUpdater.EFCore.CLI

Install via dotnet cli

dotnet add package DbUpdater.EFCore.CLI

Usage

See https://github.com/oakinyelure/DbUpdater/wiki/DbUpdater.EFCore.CLI

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

v1.0.0
- Simple IHost extension to add CLI support. Can be used without CLI but with performance overhead
- Added support for code-first migration
- Added support for script execution through EF
- Added support for seeding with custom logic

---
v1.0.4
- Added TypeLookup to help look up type from IServiceScope instance and assemblies present in the App domain
- Added unit test project
- Fixed bug in the seed migration using the DbContext assembly instead of the actual data context assembly

v1.0.5-beta
- Removed setter for the AbstractContextSeeder.Order property. This is not needed. Could be added when there is a need for it
- Updated the migrator to include seeding and script execution post constructor initialization
- Removed verbose note when the updater is called. It's not necessary. Users are able to use the help argument to display help