import 'package:sally/sally.dart'; part 'example.g.dart'; class Products extends Table { IntColumn get id => integer().named('products_id').autoIncrement()(); TextColumn get name => text()(); } class Users extends Table { IntColumn get id => integer().autoIncrement()(); TextColumn get name => text().withLength(min: 6, max: 32)(); } @DataClassName('TodoEntry') class Todos extends Table { IntColumn get id => integer().autoIncrement()(); TextColumn get name => text().withLength(min: 6, max: 10)(); TextColumn get content => text().named('body')(); } @UseSally(tables: [Products, Users, Todos]) class ShopDb extends _$ShopDb { Future> allUsers() => select(users).get(); Future> userByName(String name) => (select(users)..where((u) => u.name.equals(name))).get(); Future deleteUser(User user) => (delete(users)..where((u) => u.id.equals(user.id))).go(); @override MigrationStrategy get migration => MigrationStrategy(); @override int get schemaVersion => 1; }