quds_db_interface 0.0.1 copy "quds_db_interface: ^0.0.1" to clipboard
quds_db_interface: ^0.0.1 copied to clipboard

A unified SQL database interface package that simplifies creating databases and tables, CRUD operations, and queries with modelization across various SQL engines.

example/quds_db_interface_example.dart

import 'package:quds_db_interface/quds_db_interface.dart';

// 1. Define your data model
class User extends DbModel {
  final name = StringField(columnName: 'name', notNull: true);
  final email = StringField(columnName: 'email', isUnique: true);
  final age = IntField(columnName: 'age');
  final isPremium = BoolField(columnName: 'is_premium', defaultValue: false);

  @override
  List<FieldDefinition>? getFields() => [name, email, age, isPremium];
}

// 2. Mock a TableProvider (In a real app, an adapter like quds_db_sqlite would provide this)
abstract class UsersProvider extends TableProvider<User> {
  @override
  String get tableName => 'Users';
}

void main() async {
  // Create a new model instance
  final newUser = User();
  newUser.name.value = 'Alice';
  newUser.email.value = 'alice@example.com';
  newUser.age.value = 28;

  print('New user model created:');
  print('Name: ${newUser.name.value}');
  print('Age: ${newUser.age.value}');
  print('Premium Status: ${newUser.isPremium.value}'); // defaults to false

  // In a real implementation with an adapter, you would do:
  //
  // final usersProvider = SqliteUsersProvider();
  // await usersProvider.insertEntry(newUser);
  //
  // var users = await usersProvider.select(
  //   where: (u) => u.age.greaterThan(20).and(u.isPremium.equals(true)),
  //   order: (u) => [u.name.ascOrder],
  // );
}
1
likes
0
points
484
downloads

Publisher

verified publisherquds.cc

Weekly Downloads

A unified SQL database interface package that simplifies creating databases and tables, CRUD operations, and queries with modelization across various SQL engines.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

meta

More

Packages that depend on quds_db_interface