Flutter/Dart Manage Data
Manage Data
INSERT, UPDATE, and DELETE statements live in queries/ alongside SELECT files.
SQLiteNow generates typed params from named SQL parameters and notifies affected
tables after generated write methods run.
queries/task/insertOne.sql
queries/task/completeById.sql
queries/task/deleteCompleted.sql
INSERT
INSERT INTO task (title, completed, created_at)
VALUES (:title, 0, :createdAt);
await db.task.insertOne(
TaskInsertOneParams(
title: 'Call patient',
createdAt: DateTime.now().toUtc().toIso8601String(),
),
);
UPDATE
UPDATE task
SET completed = 1
WHERE id = :id;
await db.task.completeById(TaskCompleteByIdParams(id: taskId));
DELETE
DELETE FROM task
WHERE completed = 1;
await db.task.deleteCompleted();
When all writes go through generated SQLiteNow methods, watchers are notified automatically. Use external table change reporting only for writes that bypass SQLiteNow generated methods.