Search packages, repositories and app categories

Package detailsv0.3.0

sqflite_migration

A library to enable sqlite db migrations, using sqflite plugin.

AndroidiOSmacOS
30-day downloads
2.5K
Likes
23
Pub points
155

Install package

flutter pub add sqflite_migration

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

sqflite_migration is a Flutter package that facilitates database migrations for SQLite using the sqflite plugin. It provides a structured approach to managing schema changes over time, ensuring data integrity during app updates. The library allows developers to define migration scripts that run automatically when the database version changes, simplifying version control of local databases. It integrates seamlessly with sqflite and supports Android, iOS, and macOS platforms.

Use cases

  • Managing schema changes in local SQLite databases
  • Automating database upgrades during app updates
  • Ensuring backward compatibility across app versions
  • Handling complex data transformations during migrations
  • Supporting multi-step migration workflows

Key features

  • Versioned migration scripts
  • Automatic migration execution on database open
  • Simple API for defining migration steps
  • Compatibility with sqflite plugin
  • Cross-platform support (Android, iOS, macOS)

Suitable for

  • Apps requiring persistent local data storage
  • Projects with evolving database schemas
  • Developers managing database versioning manually
  • Teams needing reliable migration patterns
  • Flutter apps with offline-first architecture

Considerations

  • Requires manual setup of migration files
  • Dependent on sqflite plugin
  • Migration logic must be idempotent
  • No built-in rollback mechanism
  • Limited error handling beyond basic logging

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Build Status codecov

Migrate your mobile sqlite database

Library to manage sqlite db migrations using sqflite plugin.

Getting Started

import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
import 'package:sqflite_migration/sqflite_migration.dart';

final initialScript = [
  '''
create table _todo_list (
  id integer primary key autoincrement,
  alias text not null
  )
''',
  '''
create table _task (
  id integer primary key autoincrement,
  description text,
  todo_list_id integer not null,
  CONSTRAINT fk_todo_lists
    FOREIGN KEY (todo_list_id)
    REFERENCES _todo_list(id)
);
'''
];

final migrations = [
  '''
  alter table _task add column done integer default 0;
  '''
];

final config = MigrationConfig(initializationScript: initialScript, migrationScripts: migrations);

Future<Database> open() async {
 final databasesPath = await getDatabasesPath();
 final path = join(databasesPath, 'test.db');
 
 return await openDatabaseWithMigration(path, config);
}

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package

No data available yet.