Skip to content

Commit ddb09b7

Browse files
committed
fix: use orm methods instead of raw SQL
1 parent 3494e2e commit ddb09b7

1 file changed

Lines changed: 35 additions & 12 deletions

File tree

lib/core/storage/migrations/schema_10_to_11.dart

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,42 @@ class Schema10To11 {
4444
const fulcrumUrl = 'ssl://fulcrum.bullbitcoin.com:50002';
4545
const fulcrumUrlWithoutProtocol = 'fulcrum.bullbitcoin.com:50002';
4646

47-
await m.database.customUpdate(
48-
'DELETE FROM electrum_servers WHERE url = ? OR url = ?',
49-
variables: [
50-
Variable<String>(fulcrumUrl),
51-
Variable<String>(fulcrumUrlWithoutProtocol),
52-
],
53-
updates: {electrumServers},
54-
);
47+
// Delete any existing custom entries for the fulcrum server
48+
await (m.database.delete(electrumServers)..where(
49+
(e) =>
50+
electrumServers.url.equals(fulcrumUrl) |
51+
electrumServers.url.equals(fulcrumUrlWithoutProtocol),
52+
))
53+
.go();
5554

56-
await m.database.customUpdate(
57-
'UPDATE electrum_servers SET priority = priority + 1 WHERE is_testnet = 0 AND is_liquid = 0',
58-
updates: {electrumServers},
59-
);
55+
// Get all Bitcoin mainnet servers and update their priority
56+
final serversToUpdate =
57+
await (m.database.select(electrumServers)..where(
58+
(e) =>
59+
electrumServers.isTestnet.equals(0) &
60+
electrumServers.isLiquid.equals(0),
61+
))
62+
.get();
63+
64+
for (final server in serversToUpdate) {
65+
final url = server.read('url') as String;
66+
final isTestnet = server.read('is_testnet') as bool;
67+
final isLiquid = server.read('is_liquid') as bool;
68+
final priority = server.read('priority') as int;
69+
final isCustom = server.read('is_custom') as bool;
70+
71+
await m.database
72+
.into(electrumServers)
73+
.insertOnConflictUpdate(
74+
RawValuesInsertable({
75+
'url': Constant(url),
76+
'is_testnet': Constant(isTestnet),
77+
'is_liquid': Constant(isLiquid),
78+
'priority': Constant(priority + 1),
79+
'is_custom': Constant(isCustom),
80+
}),
81+
);
82+
}
6083

6184
await m.database
6285
.into(electrumServers)

0 commit comments

Comments
 (0)