angel3_orm_mysql 2.0.0-beta.1  angel3_orm_mysql: ^2.0.0-beta.1 copied to clipboard
angel3_orm_mysql: ^2.0.0-beta.1 copied to clipboard
MySQL support for Angel3's ORM. Includes functionality for querying and transactions.
example/main.dart
import 'package:angel3_migration/angel3_migration.dart';
import 'package:angel3_model/angel3_model.dart';
import 'package:angel3_orm/angel3_orm.dart';
import 'package:angel3_orm_mysql/angel3_orm_mysql.dart';
import 'package:angel3_serialize/angel3_serialize.dart';
import 'package:logging/logging.dart';
import 'package:galileo_sqljocky5/sqljocky.dart';
import 'package:optional/optional.dart';
part 'main.g.dart';
void main() async {
  hierarchicalLoggingEnabled = true;
  Logger.root
    ..level = Level.ALL
    ..onRecord.listen(print);
  var settings = ConnectionSettings(
      db: 'angel_orm_test', user: 'angel_orm_test', password: 'angel_orm_test');
  var connection = await MySqlConnection.connect(settings);
  var logger = Logger('angel_orm_mysql');
  var executor = MySqlExecutor(connection, logger: logger);
  var query = TodoQuery();
  query.values
    ..text = 'Clean your room!'
    ..isComplete = false;
  var todo = await query.insert(executor);
  print(todo.value.toJson());
  var query2 = TodoQuery()..where!.id.equals(todo.value.idAsInt!);
  var todo2 = await query2.getOne(executor);
  print(todo2.value.toJson());
  print(todo == todo2);
}
@serializable
@orm
abstract class _Todo extends Model {
  String? get text;
  @DefaultsTo(false)
  bool? isComplete;
}