xdatabase 1.0.0 xdatabase: ^1.0.0 copied to clipboard
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!');
}