Xeno.LiteMigrator
0.6.2
The project has moved to LiteMigrator, dropping the "Xeno." namespace and package prefix.
dotnet add package Xeno.LiteMigrator --version 0.6.2
NuGet\Install-Package Xeno.LiteMigrator -Version 0.6.2
<PackageReference Include="Xeno.LiteMigrator" Version="0.6.2" />
paket add Xeno.LiteMigrator --version 0.6.2
#r "nuget: Xeno.LiteMigrator, 0.6.2"
// Install Xeno.LiteMigrator as a Cake Addin #addin nuget:?package=Xeno.LiteMigrator&version=0.6.2 // Install Xeno.LiteMigrator as a Cake Tool #tool nuget:?package=Xeno.LiteMigrator&version=0.6.2
SQLite Lite Migrator for cross-platform .NET
Notice of Change:
Xeno.LiteMigrator has moved to LiteMigrator. Please use the new package moving forward.
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 app deployments, we usually move forward and rarely downgrade (consider app stores). This helps keep the library small and nimble.
- (Deprecated Package) - NEW Package: LiteMigrator
Sponsored by Xeno Innovations and Suess Labs, this project was made with nerd-love.
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!
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.
Xeno.LiteMigrator has moved to LiteMigrator