xdatabase 1.0.0 copy "xdatabase: ^1.0.0" to clipboard
xdatabase: ^1.0.0 copied to clipboard

outdated

A starting point for Dart libraries or applications.

example/xdatabase_example.dart

import 'package:uuid/uuid.dart';
import 'package:xdatabase/xdatabase.dart';

@Table('log_table')
@Index(name: '_idx_log_ts', columns: ['local_id', 'create_ts'])
class Log {
  @Field(type: 'VARCHAR(36)', primary: true)
  String localId = '';

  @Field(type: 'VARCHAR(66)', mark: '作者ID')
  String autherId = '';

  @Field(type: 'TEXT', mark: '内容')
  String body = '';

  @Field(type: 'INT', mark: '创建事件')
  int createTs = 0;
  Log(
      {required this.localId,
      required this.autherId,
      required this.body,
      required this.createTs});

  @override
  String toString() {
    return 'id:$localId auth:$autherId, body:$body ts:$createTs';
  }
}

Future work() async {
  DeclarationHolder().registTable(Log);
  Database().init(ConnectionSetting(
      host: '127.0.0.1',
      port: 5432,
      dbName: 'xbase',
      userName: 'alex',
      password: ''));

  final conn = await Database().getConnection();
  final insertCount = await Orm<Log>(conn).insert(Log(
      localId: Uuid().v4().toString(),
      autherId: 'alex',
      body: 'afdfsadasf',
      createTs: DateTime.now().millisecondsSinceEpoch ~/ 1000));
  print('insert $insertCount Log');
  final results =
      await Orm<Log>(conn).query('SELECT * FROM [table]').fetch(null);
  results.forEach((log) {
    print('log:$log');
  });
  return conn.release();
}

void main(List<String> args) {
  work().then((value) => {});
  print('done!');
}
0
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A starting point for Dart libraries or applications.

License

unknown (LICENSE)

Dependencies

path, postgres, uuid

More

Packages that depend on xdatabase