LiteMigrator 0.9.0
dotnet add package LiteMigrator --version 0.9.0
NuGet\Install-Package LiteMigrator -Version 0.9.0
<PackageReference Include="LiteMigrator" Version="0.9.0" />
paket add LiteMigrator --version 0.9.0
#r "nuget: LiteMigrator, 0.9.0"
// Install LiteMigrator as a Cake Addin #addin nuget:?package=LiteMigrator&version=0.9.0 // Install LiteMigrator as a Cake Tool #tool nuget:?package=LiteMigrator&version=0.9.0
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 app deployments, we usually move forward and rarely downgrade (consider app stores). This helps keep the library small and nimble. Previously known as, SQLiteMigrator.
Breaking Change from 0.6.x to now:
Namespace changed from
Xeno.LiteMigrator
toLiteMigrator
Brought to you with nerd-love by Suess Labs, sponsored by Xeno Innovations.
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 dbPath = Path.Combine(FileSystem.AppDataDirectory, "LiteMigrator.db3");
var scriptNamespace = "MyProject.Namespace.Scripts";
using var migrator = new Migrator(dbPath, scriptNamespace);
// List of all embedded script files
var embeddedMigrations = migrator.Migrations.GetSortedMigrations();
// List of scripts installed
var installed = await migrator.GetInstalledMigrationsAsync();
// List of scripts waiting to be installed
var notInstalled = await migrator.GetMissingMigrationsAsync();
// Install migration scripts
bool isSuccessful = await migrator.MigrateUpAsync();
Use Case 2 - Class Constructor
public async Task InstallMigrationsAsync()
{
// Your EXE/DLL with the scripts
var dbPath = @"C:\TEMP\MyDatabase.db3";
var migsNamespace = "MyProjNamespace.Scripts";
var migrator = new Migrator(dbPath, migsNamespace);
bool = success = await migrator.MigrateUpAsync();
// Required after v0.6
migrator.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.
Sqlite lite migration utility