ormed_sqlite 0.1.0-dev+3 copy "ormed_sqlite: ^0.1.0-dev+3" to clipboard
ormed_sqlite: ^0.1.0-dev+3 copied to clipboard

SQLite adapter for the routed ORM driver interface.

example/ormed_sqlite_example.dart

/// Small example showing how to bootstrap the SQLite adapter.
library;

import 'package:ormed/ormed.dart';
import 'package:ormed_sqlite/ormed_sqlite.dart';

part 'ormed_sqlite_example.orm.dart';

@OrmModel(table: 'users')
class ExampleUser extends Model<ExampleUser> {
  const ExampleUser({required this.id, required this.email});

  @OrmField(isPrimaryKey: true)
  final int id;

  final String email;
}

void main() async {
  final adapter = SqliteDriverAdapter.inMemory();
  final registry = ModelRegistry()
    ..register(ExampleUserOrmDefinition.definition);
  final context = QueryContext(registry: registry, driver: adapter);

  await adapter.executeRaw(
    'CREATE TABLE users (id INTEGER PRIMARY KEY, email TEXT NOT NULL)',
  );

  StructuredQueryLogger.printing(pretty: true).attach(context);

  final repository = context.repository<$ExampleUser>();
  final user = $ExampleUser(id: 1, email: 'example@example.com');

  final insertPreview = repository.previewInsert(user);
  print('Insert preview => ${insertPreview.sql} ${insertPreview.parameters}');

  await repository.insert(user);

  final query = context.query<$ExampleUser>().whereEquals('email', user.email);
  final queryPreview = query.toSql();
  print('Query preview => ${queryPreview.sql} ${queryPreview.parameters}');

  final results = await query.get();
  print('Fetched \\${results.length} user(s)');
  await adapter.close();
}
0
likes
160
points
--
downloads

Publisher

verified publisherglenfordwilliams.com

Weekly Downloads

SQLite adapter for the routed ORM driver interface.

Repository (GitHub)
View/report issues

Topics

#orm #database #sqlite

Documentation

Documentation
API reference

Funding

Consider supporting this project:

www.buymeacoffee.com

License

MIT (license)

Dependencies

meta, ormed, path, sqlite3

More

Packages that depend on ormed_sqlite