Skip to content

xenoinc/LiteMigrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lite Migrator for mobile devices

LiteMigrator is a tiny cross-platform SQLite migration framework for Xamarin (.NET Standard) inspired by Fluent Migrator. This framework was built for use with Xamarin 🐒 projects, so it needs to be quick, simple and reliable when managing databases

LiteMigrator Docs

Sponsored by Xeno Innovations, 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
Android Yes
UWP In-progress
iOS Needs Verified

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.

  1. Add LiteMigrator project to your solution
  2. Create a folder in your solution to hold the scripts
  3. Add SQL files as Embedded Resources
  • You must use the naming convention, "YYYYMMDDhhmm-FileName.sql"
  1. Wire-up the controller
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();
}

How to Contribute

Give it a test drive and support making LiteMigrator better :)

  1. Fork on GitHub
  2. Create a branch
  3. Code (_and add tests)
  4. Create a Pull Request (PR) on GitHub
    1. Target the develop branch and we'll get it merged up to master
    2. Target the master branch for hotfixes
  5. Get the PR merged
  6. Welcome to our contributors' list!

This project could use your assistance to crush limitation Please visit the Known Limitations wiki page