Persistência de Dados com SQLite em Flutter: Migração de Dados

Uma parte crucial do desenvolvimento de aplicativos é a gestão de dados. Neste capítulo do curso, vamos explorar como implementar a persistência de dados usando SQLite em Flutter. SQLite é uma biblioteca de banco de dados SQL embutida em C que fornece um armazenamento local no dispositivo para seu aplicativo. Vamos também abordar um aspecto importante da gestão de dados: a migração de dados.

SQLite em Flutter

O SQLite é um banco de dados embutido que é muito fácil de usar. Ele não requer um processo de servidor separado e permite acessar o banco de dados usando uma interface não padrão baseada em funções. Para usar o SQLite em Flutter, precisamos adicionar a dependência 'sqflite' em nosso arquivo pubspec.yaml.

dependencies:
  flutter:
    sdk: flutter
  sqflite: ^1.3.0

Após adicionar a dependência, podemos importar o pacote sqflite em nosso arquivo Dart.

import 'package:sqflite/sqflite.dart';

Criação de Banco de Dados e Tabelas

Para criar um banco de dados, usamos a função openDatabase e passamos o caminho do banco de dados como um argumento. Se o banco de dados não existir, ele será criado. Podemos também definir a versão do banco de dados e implementar a função onCreate para criar tabelas.

Database database = await openDatabase(
  path,
  version: 1,
  onCreate: (Database db, int version) async {
    await db.execute('CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)');
  },
);

Migração de Dados

A migração de dados é um processo vital para manter a integridade dos dados quando atualizamos a estrutura do banco de dados. Quando alteramos a estrutura do banco de dados, como adicionar uma nova coluna ou alterar o tipo de dados de uma coluna, precisamos migrar os dados existentes para a nova estrutura.

Em SQLite, podemos usar a função onUpgrade para lidar com a migração de dados. A função onUpgrade será chamada quando a versão do banco de dados atual for maior que a versão anterior. Dentro desta função, podemos executar comandos SQL para alterar a estrutura do banco de dados.

Database database = await openDatabase(
  path,
  version: 2,
  onUpgrade: (Database db, int oldVersion, int newVersion) async {
    if (oldVersion < 2) {
      await db.execute('ALTER TABLE my_table ADD COLUMN age INTEGER');
    }
  },
);

Conclusão

SQLite é uma excelente opção para armazenar dados localmente em um aplicativo Flutter. Ele oferece uma interface fácil de usar para gerenciar dados e suporta a migração de dados para manter a integridade dos dados. Ao usar SQLite em Flutter, podemos criar aplicativos mais robustos e confiáveis.

Este capítulo abordou os conceitos básicos de persistência de dados com SQLite em Flutter e migração de dados. No entanto, há muito mais para aprender sobre SQLite, como transações, consultas complexas e otimização de desempenho. Esperamos que este capítulo tenha fornecido uma base sólida para explorar mais sobre SQLite em Flutter.

Agora responda o exercício sobre o conteúdo:

O que é SQLite em Flutter e como é usado?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Persistência de dados com SQLite em Flutter: Backup e restauração de dados

Próxima página do Ebook Gratuito:

265Persistência de dados com SQLite em Flutter: Backup e restauração de dados

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto