Skip to content

Files

Latest commit

f704518 · Mar 14, 2024

History

History
65 lines (53 loc) · 1.64 KB

README.md

File metadata and controls

65 lines (53 loc) · 1.64 KB

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.