Utopia Database

Utopia Database is light and fast database library for Dart. It is designed to be simple and easy to use. It currently supports only MariaDB and MySQL databases.

Getting started

Add the following to your pubspec.yaml file:

dependencies:
  utopia_database: ^0.2.0
  utopia_database_adapter_mariadb: ^0.2.0

Usage

import 'package:utopia_database/utopia_database.dart';
import 'package:utopia_database_adapter_mariadb/utopia_database_adapter_mariadb.dart';

void main() async {
  final mariadb = await MariaDB.init(
      host: 'localhost', port: 3306, user: 'user', password: 'password');
  final database = Database(mariadb);
  print('connection initialized');
  database.setDefaultDatabase('applications');
  database.setNamespace('_myproject');
  final exists = await database.exists(collection: Database.metadata);

  if (!exists) {
    await database.create();
    print('metadata created');
  }

  final userExists = await database.exists(collection: 'users');

  if (!userExists) {
    await database.createCollection('users', [
      Attribute(
        id: 'name',
        type: Database.varString,
        isRequired: true,
        size: 255,
      ),
      Attribute(
        id: 'email',
        type: Database.varString,
        isRequired: true,
        size: 255,
      ),
      Attribute(
        id: 'description',
        type: Database.varString,
        isRequired: true,
        size: 2550,
      ),
    ], []);
    print('users collection created');
  }
}

Contribute new adapter

To add new adapter for different database, follow the steps in add database adapter.

Libraries

utopia_database
Support for doing something awesome.