Skipy.EntityFramework.Provider 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Skipy.EntityFramework.Provider --version 1.0.0
NuGet\Install-Package Skipy.EntityFramework.Provider -Version 1.0.0
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="Skipy.EntityFramework.Provider" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Skipy.EntityFramework.Provider --version 1.0.0
#r "nuget: Skipy.EntityFramework.Provider, 1.0.0"
#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 Skipy.EntityFramework.Provider as a Cake Addin
#addin nuget:?package=Skipy.EntityFramework.Provider&version=1.0.0

// Install Skipy.EntityFramework.Provider as a Cake Tool
#tool nuget:?package=Skipy.EntityFramework.Provider&version=1.0.0

Skipy

             (`-').-> <-.(`-')    _       _  (`-')            
             ( OO)_    __( OO)   (_)      \-.(OO )      .->   
            (_)--\_)  '-'. ,--.  ,-(`-')  _.'    \  ,--.'  ,-.
            /    _ /  |  .'   /  | ( OO) (_...--'' (`-')'.'  /
            \_..`--.  |      /)  |  |  ) |  |_.' | (OO \    / 
            .-._)   \ |  .   '  (|  |_/  |  .___.'  |  /   /) 
            \       / |  |\   \  |  |'-> |  |       `-/   /`  
             `-----'  `--' '--'  `--'    `--'         `--'   

Skipy is a tool to handle database updates on a project.

You can build or use the provider adapted to your project and use the Skipy cli to update your database.

CLI usage

status : display the list of the updates with their status. ex: ./skipy status or skipy.exe status

update <ID> : update the database by selecting an update. ex: ./skipy update or skipy.exe update

update -Id <ID> : update the database to the specified update. ex: ./skipy update -Id 20210827163757 or skipy.exe update -Id 20210827163757

update -Name <Name> : update the database to the specified update. ex: ./skipy update -Name MyUpdateName or skipy.exe update -Name MyUpdateName

How to create a Skipy console for a project

  • Create a new application console project
  • Include the Skipy nuget and the Skipy.Core nuget
  • Add a new module class which implements the IModule interface or use directly the Module<MyUpdateProvider> class (the class MyUpdateProvider must implement the interface IUpdateProvider)
  • In the Main method of your application, add the following lines to call the Skipy console :
public class Program
{
    static void Main(string[] args)
    {
        // Create a new console
        var console = new SkipyConsole();

        // Add the module
        console.AddProvider<Module<MyUpdateProvider>>();

        // Start the console
        console.Start(args);
    }
}

Make a custom provider

Create a new project and add two classes :

  • a class which implements the IUpdateProvider to handle the database updates

  • a class which implements the IModule interface to declare a new module in the console.

Example (with the Entity Framework provider available in the Skipy.EntityFramework.Provider nuget) :


// EntityFrameworkProvider is available in the 
public class MyModule : Module<EntityFrameworkProvider<MyDbContext>>
    {
        public override void ConfigureServices(IServiceCollection serviceCollection, IConfiguration configuration)
        {
            base.ConfigureServices(serviceCollection, configuration);

            // Database connection
            serviceCollection.AddDbContext<MyDbContext>(options =>
                options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));

            // Update provider
            serviceCollection.AddScoped<IUpdateProvider, EntityFrameworkProvider<MyDbContext>>();
        }
    }
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  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.

Version Downloads Last updated
1.1.0 434 5/13/2022
1.0.0 451 10/10/2021