Xeno.LiteMigrator
0.6.0.1
See the version list below for details.
dotnet add package Xeno.LiteMigrator --version 0.6.0.1
NuGet\Install-Package Xeno.LiteMigrator -Version 0.6.0.1
<PackageReference Include="Xeno.LiteMigrator" Version="0.6.0.1" />
paket add Xeno.LiteMigrator --version 0.6.0.1
#r "nuget: Xeno.LiteMigrator, 0.6.0.1"
// Install Xeno.LiteMigrator as a Cake Addin #addin nuget:?package=Xeno.LiteMigrator&version=0.6.0.1 // Install Xeno.LiteMigrator as a Cake Tool #tool nuget:?package=Xeno.LiteMigrator&version=0.6.0.1
SQLite Lite Migrator for cross-platform .NET
LiteMigrator is a tiny cross-platform SQLite migration framework for .NET cross-platform applications using (.NET Standard). This library was built for use with .NET MAUI 🐒, Avalonia, and Uno projects. So it needs to be quick, simple and reliable when managing databases.
LiteMigrator takes a "migrate-up" approach. In most applications, we only move forward and rarely downgrade. This helps keep the library small and nimble.
Sponsored by Xeno Innovations and Suess Labs, this project was made with nerd-love.
This project is currently in beta
Supported Platforms
Check out the sample project's source code LiteMigrator.Sample
Platform | Status |
---|---|
Windows | Yes |
Linux | Yes |
Android | Yes |
iOS | Yes |
Contribute today and get your platform supported 👍
How to use it
Get LiteMigrator on NuGet today!
Currently, we recommend you add this to your project using Git's submodule so you always get the latest.
Getting Started
Detailed instructions can be found on the Using LiteMigrator wiki page.
- Add LiteMigrator project to your solution
- Create a folder in your solution to hold the scripts
- Add SQL files as Embedded Resources
- You must use the naming convention, "YYYYMMDDhhmm-FileName.sql"
- Wire-up the controller
Use Case 1
var scriptNamespace = "MyProject.Namespace.Scripts";
using (var migrator = new LiteMigration(
"c:\\path\\to\\sqlite.db3"
Assembly.GetExecutingAssembly(),
scriptNamespace))
{
bool isSuccessful = await migrator.MigrateUpAsync();
}
Use Case 2 - Class Constructor
public async Task InstallMigrationsAsync()
{
// Your EXE/DLL with the scripts
var resourceAssm = Assembly.GetExecutingAssembly();
var dbPath = @"C:\TEMP\MyDatabase.db3";
var migsNamespace = "MyProjNamespace.Scripts";
var liteMig = new LiteMigration(dbPath, resourceAssm, migsNamespace);
bool = success = await liteMig.MigrateUpAsync();
// Required after v0.6
liteMig.Dispose();
}
How to Contribute
Give it a test drive and support making LiteMigrator better 😃
- Fork on GitHub
- Create a branch
- Code (and add tests)
- Create a Pull Request (PR) on GitHub
- Target the
develop
branch and we'll get it merged up tomaster
- Target the
master
branch for hotfixes
- Target the
- Get the PR merged
- Welcome to our contributors' list!
This project could use your assistance to crush any limitations.
Please visit the Known Limitations wiki page
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- sqlite-net-pcl (>= 1.9.172)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Basic sqlite migration utility