mirror of https://github.com/AMT-Cheif/drift.git
38 lines
930 B
Dart
38 lines
930 B
Dart
import 'package:drift/drift.dart';
|
|
import 'package:drift_postgres/postgres.dart';
|
|
import 'package:postgres/postgres_v3_experimental.dart';
|
|
import 'package:uuid/uuid.dart';
|
|
|
|
part 'main.g.dart';
|
|
|
|
class Users extends Table {
|
|
UuidColumn get id => customType(PgTypes.uuid).withDefault(genRandomUuid())();
|
|
TextColumn get name => text()();
|
|
}
|
|
|
|
@DriftDatabase(tables: [Users])
|
|
class DriftPostgresDatabase extends _$DriftPostgresDatabase {
|
|
DriftPostgresDatabase(super.e);
|
|
|
|
@override
|
|
int get schemaVersion => 1;
|
|
}
|
|
|
|
void main() async {
|
|
final database = DriftPostgresDatabase(PgDatabase(
|
|
endpoint: PgEndpoint(
|
|
host: 'localhost',
|
|
database: 'postgres',
|
|
username: 'postgres',
|
|
password: 'postgres',
|
|
),
|
|
logStatements: true,
|
|
));
|
|
|
|
final user = await database.users.insertReturning(
|
|
UsersCompanion.insert(name: 'Simon', id: Value(Uuid().v4obj())));
|
|
print(user);
|
|
|
|
await database.close();
|
|
}
|