Skip to content

Commit 0809e4d

Browse files
committed
run dart migrate
1 parent 6eecf6f commit 0809e4d

File tree

8 files changed

+76
-54
lines changed

8 files changed

+76
-54
lines changed

.gitignore

+15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
# https://gist.github.com/hpoul/b78f7a1b3cde988f3ce4d12e954367eb
2+
#
3+
# IDEA: Allow some configuration, which is shared across users.
4+
5+
/.idea/*
6+
!.idea/runConfigurations
7+
!.idea/runConfigurations/*
8+
!.idea/vcs.xml
9+
!.idea/dictionaries
10+
!.idea/dictionaries/*
11+
!.idea/inspectionProfiles/*
12+
!.idea/codeStyles
13+
!.idea/codeStyles/*
14+
*.iml
15+
116
# Files and directories created by pub
217
.dart_tool/
318
.packages

.idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/config.dart

+10-10
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ part 'config.g.dart';
99
@JsonSerializable(anyMap: true, checked: true)
1010
class DatabaseConfig {
1111
DatabaseConfig({
12-
@required this.host,
13-
@required this.port,
14-
@required this.databaseName,
15-
@required this.username,
12+
required this.host,
13+
required this.port,
14+
required this.databaseName,
15+
required this.username,
1616
this.password,
1717
}) : assert(host != null),
1818
assert(port != null),
@@ -22,7 +22,7 @@ class DatabaseConfig {
2222
factory DatabaseConfig.fromJson(Map<String, dynamic> json) =>
2323
_$DatabaseConfigFromJson(json);
2424

25-
factory DatabaseConfig.fromEnvironment({DatabaseConfig defaults}) =>
25+
factory DatabaseConfig.fromEnvironment({DatabaseConfig? defaults}) =>
2626
DatabaseConfig.fromJson(_jsonFromEnvironment(defaults));
2727

2828
static final defaults = DatabaseConfig.fromJson(<String, dynamic>{});
@@ -39,12 +39,12 @@ class DatabaseConfig {
3939
@JsonKey(defaultValue: 'authpass')
4040
final String username;
4141
@JsonKey(defaultValue: 'blubb')
42-
final String password;
42+
final String? password;
4343

4444
DatabaseConfig copyWith({
45-
String host,
46-
int port,
47-
String databaseName,
45+
String? host,
46+
int? port,
47+
String? databaseName,
4848
}) =>
4949
DatabaseConfig(
5050
host: host ?? this.host,
@@ -55,7 +55,7 @@ class DatabaseConfig {
5555
);
5656
}
5757

58-
Map<String, dynamic> _jsonFromEnvironment(DatabaseConfig defaults) {
58+
Map<String, dynamic> _jsonFromEnvironment(DatabaseConfig? defaults) {
5959
final defaultJson = defaults?.toJson() ?? <String, dynamic>{};
6060
final dbConfig = Platform.environment['DBCONFIG'];
6161
if (dbConfig != null) {

lib/src/config.g.dart

+7-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/database_access.dart

+21-21
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class DatabaseTransactionBase<TABLES extends TablesBase> {
1717
final TABLES tables;
1818
static final columnNamePattern = RegExp(r'^[a-z_]+$');
1919

20-
void _assertColumnNames(Map<String, Object> values) {
20+
void _assertColumnNames(Map<String, Object?> values) {
2121
assert((() {
2222
for (final key in values.keys) {
2323
if (!columnNamePattern.hasMatch(key)) {
@@ -49,8 +49,8 @@ class DatabaseTransactionBase<TABLES extends TablesBase> {
4949

5050
Future<int> executeUpdate(
5151
String table, {
52-
@required Map<String, Object> set,
53-
@required Map<String, Object> where,
52+
required Map<String, Object?> set,
53+
required Map<String, Object> where,
5454
bool setContainsOptional = false,
5555
}) async {
5656
assert(set != null);
@@ -78,14 +78,14 @@ class DatabaseTransactionBase<TABLES extends TablesBase> {
7878

7979
/// Removes entries in [values] which have a `null` value, and replaces
8080
/// all [Optional] values with their actual value.
81-
Map<String, Object> flattenOptionals(Map<String, Object> values) {
82-
Object unwrap(Object value) => value is Optional ? value.orNull : value;
81+
Map<String, Object?> flattenOptionals(Map<String, Object?> values) {
82+
Object? unwrap(Object? value) => value is Optional ? value.orNull : value;
8383
return Map.fromEntries(values.entries
8484
.where((element) => element.value != null)
8585
.map((e) => MapEntry(e.key, unwrap(e.value))));
8686
}
8787

88-
bool _assertCorrectValues(Map<String, Object> values) {
88+
bool _assertCorrectValues(Map<String, Object?>? values) {
8989
if (values == null) {
9090
return true;
9191
}
@@ -103,9 +103,9 @@ class DatabaseTransactionBase<TABLES extends TablesBase> {
103103

104104
Future<int> execute(
105105
String fmtString, {
106-
Map<String, Object> values,
107-
int timeoutInSeconds,
108-
int expectedResultCount,
106+
Map<String, Object?>? values,
107+
int? timeoutInSeconds,
108+
int? expectedResultCount,
109109
}) async {
110110
try {
111111
assert(_assertCorrectValues(values));
@@ -126,9 +126,9 @@ class DatabaseTransactionBase<TABLES extends TablesBase> {
126126
}
127127

128128
Future<PostgreSQLResult> query(String fmtString,
129-
{Map<String, Object> values,
130-
bool allowReuse,
131-
int timeoutInSeconds}) async {
129+
{Map<String, Object>? values,
130+
bool? allowReuse,
131+
int? timeoutInSeconds}) async {
132132
assert(_assertCorrectValues(values));
133133
return _conn.query(fmtString,
134134
substitutionValues: values,
@@ -146,9 +146,9 @@ class CustomBind {
146146
abstract class DatabaseAccessBase<TX extends DatabaseTransactionBase<TABLES>,
147147
TABLES extends TablesBase> {
148148
DatabaseAccessBase({
149-
@required this.config,
150-
@required this.tables,
151-
@required this.migrations,
149+
required this.config,
150+
required this.tables,
151+
required this.migrations,
152152
}) : assert(config != null),
153153
assert(tables != null),
154154
assert(migrations != null);
@@ -157,11 +157,11 @@ abstract class DatabaseAccessBase<TX extends DatabaseTransactionBase<TABLES>,
157157
final DatabaseConfig config;
158158
final MigrationsProvider<TX, TABLES> migrations;
159159

160-
PostgreSQLConnection _conn;
160+
PostgreSQLConnection? _conn;
161161

162162
Future<PostgreSQLConnection> _connection() async {
163163
if (_conn != null) {
164-
return _conn;
164+
return _conn!;
165165
}
166166
final conn = PostgreSQLConnection(
167167
config.host,
@@ -185,7 +185,7 @@ abstract class DatabaseAccessBase<TX extends DatabaseTransactionBase<TABLES>,
185185
}
186186

187187
Future<void> dispose() async {
188-
await _conn.close();
188+
await _conn!.close();
189189
_conn = null;
190190
}
191191

@@ -229,7 +229,7 @@ abstract class DatabaseAccessBase<TX extends DatabaseTransactionBase<TABLES>,
229229

230230
final migrationRun = clock.now().toUtc();
231231
await run((conn) async {
232-
final migrations = this.migrations.migrations;
232+
final List<Migrations<TX, TABLES>> migrations = this.migrations.migrations;
233233
for (final migration in migrations) {
234234
if (migration.id > lastMigration) {
235235
_logger.fine('Running migration ${migration.id} '
@@ -315,9 +315,9 @@ abstract class MigrationsProvider<TX extends DatabaseTransactionBase<TABLES>,
315315
class Migrations<TX extends DatabaseTransactionBase<TABLES>,
316316
TABLES extends TablesBase> {
317317
Migrations({
318-
@required this.id,
318+
required this.id,
319319
this.versionCode = 'a',
320-
@required this.up,
320+
required this.up,
321321
}) : assert(id != null),
322322
assert(up != null);
323323

lib/src/tables/base_tables.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ abstract class TableConstants {
2222
}
2323

2424
extension FuturePostgreSQL on Future<PostgreSQLResult> {
25-
Future<T> singleOrNull<T>(FutureOr<T> Function(PostgreSQLResultRow row) cb) =>
26-
then((value) => value.singleOrNull(cb));
25+
Future<T?> singleOrNull<T>(FutureOr<T> Function(PostgreSQLResultRow row) cb) =>
26+
then((value) => value.singleOrNull(cb as T Function(PostgreSQLResultRow)));
2727
Future<PostgreSQLResultRow> get single => then((value) => value.single);
2828
}
2929

3030
extension PostgreSQLResultExt on PostgreSQLResult {
31-
T singleOrNull<T>(T Function(PostgreSQLResultRow row) cb) {
31+
T? singleOrNull<T>(T Function(PostgreSQLResultRow row) cb) {
3232
if (isEmpty) {
3333
return null;
3434
}

lib/src/tables/migration_tables.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class MigrationTable extends TableBase with TableConstants {
3535
Future<int> queryLastVersion(DatabaseTransactionBase connection) async {
3636
final result = await connection
3737
.query('SELECT MAX($_TABLE_MIGRATE_VERSION) FROM $_TABLE_MIGRATE');
38-
final maxVersion = result.first[0] as int;
38+
final maxVersion = result.first[0] as int?;
3939
_logger.finer('Migration version: $maxVersion');
4040
return maxVersion ?? 0;
4141
}
@@ -52,9 +52,9 @@ class MigrationTable extends TableBase with TableConstants {
5252

5353
class MigrationEntity {
5454
MigrationEntity({
55-
@required this.version,
56-
@required this.versionCode,
57-
@required this.appliedAt,
55+
required this.version,
56+
required this.versionCode,
57+
required this.appliedAt,
5858
});
5959
final int version;
6060
final String versionCode;

pubspec.yaml

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ description: A starting point for Dart libraries or applications.
44
# homepage: https://www.example.com
55

66
environment:
7-
sdk: '>=2.8.1 <3.0.0'
7+
sdk: '>=2.12.0 <3.0.0'
88

99
dependencies:
10-
quiver: ^2.1.3
11-
meta: ^1.2.2
12-
clock: ^1.0.1
13-
logging: ^0.11.4
14-
postgres: ^2.1.1
15-
json_annotation: ^3.0.1
10+
quiver: ^3.0.0
11+
meta: ^1.3.0
12+
clock: ^1.1.0
13+
logging: ^1.0.0
14+
postgres: ^2.3.0
15+
json_annotation: ^4.0.1
1616

1717
dev_dependencies:
18-
json_serializable: ^3.3.0
19-
pedantic: ^1.9.2
20-
test: ^1.15.3
18+
json_serializable: ^4.1.0
19+
pedantic: ^1.11.0
20+
test: ^1.16.8
2121
build_runner: ^1.10.0

0 commit comments

Comments
 (0)