Skip to content

utopia-dart/utopia_database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 database.

Getting started

Add the following to your pubspec.yaml file:

dependencies:
  utopia_database: <latest>
  utopia_database_adapter_mariadb: <latest>

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.