import 'dart:io'; import 'package:mysql_client/mysql_client.dart'; import 'package:mysql1/mysql1.dart'; void main() async { print("=== Start 'mysql1' driver test"); await testMySQL1Driver().catchError((error, stackTrace) { print(error); }); print("=== End test"); print(" "); print("=== Start 'mysql_client' driver test"); await testMySQLClientDriver().catchError((error, stackTrace) { print(error); }); print("=== End test"); print(" "); //sleep(Duration(seconds: 5)); exit(0); } Future testMySQLClientDriver() async { var connection = await MySQLConnection.createConnection( host: "localhost", port: 3306, databaseName: "orm_test", userName: "test", password: "test123", secure: false); await connection.connect(timeoutMs: 30000); print(">Test Select All"); var result = await connection.execute("SELECT * from users"); print("Total records: ${result.rows.length}"); print(">Test Insert"); var params = { "username": "test", "password": "test123", "email": "test@demo.com", "updatedAt": DateTime.parse("1970-01-01 00:00:00") }; result = await connection.execute( "INSERT INTO users (username, password, email, updated_at) VALUES (:username, :password, :email, :updatedAt)", params); print("Last inserted ID: ${result.lastInsertID}"); print(">Test Select By ID"); result = await connection.execute( "SELECT * from users where id=:id", {"id": result.lastInsertID.toInt()}); print("Read record: ${result.rows.first.assoc()}"); } Future testMySQL1Driver() async { var settings = ConnectionSettings( host: 'localhost', port: 3306, db: 'orm_test', user: 'test', password: 'test123', timeout: Duration(seconds: 60)); var connection = await MySqlConnection.connect(settings); print(">Test Select All"); var result = await connection.query("SELECT * from users"); print("Total records: ${result.length}"); print(">Test Insert"); var params = [ "test", "test123", "test@demo.com", DateTime.parse("1970-01-01 00:00:00").toUtc() ]; // DateTime.parse("1970-01-01 00:00:01").toUtc() result = await connection.query( "INSERT INTO users (username, password, email, updated_at) VALUES (?, ?, ?, ?)", params); print("Last inserted ID: ${result.insertId}"); print(">Test Select By ID"); result = await connection .query("SELECT * from users where id=?", [result.insertId]); print("Read record: ${result.first.values}"); var d = DateTime.parse("1970-01-01 00:00:00").toUtc(); print("Local time: ${d.toLocal()}"); }