import 'dart:async'; import 'dart:io'; import 'package:angel_orm/angel_orm.dart'; import 'package:angel_orm_mysql/angel_orm_mysql.dart'; import 'package:logging/logging.dart'; import 'package:sqljocky5/sqljocky.dart'; FutureOr Function() my(Iterable schemas) { return () => connectToMySql(schemas); } Future closeMy(QueryExecutor executor) => (executor as MySqlExecutor).close(); Future connectToMySql(Iterable schemas) async { var settings = ConnectionSettings( db: 'angel_orm_test', user: Platform.environment['MYSQL_USERNAME'] ?? 'angel_orm_test', password: Platform.environment['MYSQL_PASSWORD'] ?? 'angel_orm_test'); var connection = await MySqlConnection.connect(settings); var logger = Logger('angel_orm_mysql'); for (var s in schemas) await connection .execute(await new File('test/migrations/$s.sql').readAsString()); return MySqlExecutor(connection, logger: logger); }