@powersync/service-module-postgres-storage 0.0.0-dev-20250730095602 → 0.0.0-dev-20250730103516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -7
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/migrations/scripts/1753871047719-sdk_report.d.ts +3 -0
- package/dist/migrations/scripts/1684951997326-init.js +0 -17
- package/dist/migrations/scripts/1684951997326-init.js.map +1 -1
- package/dist/migrations/scripts/1753871047719-sdk_report.js +109 -0
- package/dist/migrations/scripts/1753871047719-sdk_report.js.map +1 -0
- package/package.json +7 -7
- package/src/migrations/scripts/1684951997326-init.ts +0 -22
- package/src/migrations/scripts/1753871047719-sdk_report.ts +45 -0
|
@@ -164,23 +164,6 @@ export const up = async (context) => {
|
|
|
164
164
|
CONSTRAINT unique_user_sync PRIMARY KEY (user_id, sync_rules_id)
|
|
165
165
|
);
|
|
166
166
|
`.execute();
|
|
167
|
-
await db.sql `
|
|
168
|
-
CREATE TABLE sdk_report_events (
|
|
169
|
-
id TEXT PRIMARY KEY,
|
|
170
|
-
user_agent TEXT NOT NULL,
|
|
171
|
-
client_id TEXT NOT NULL,
|
|
172
|
-
user_id TEXT NOT NULL,
|
|
173
|
-
sdk TEXT NOT NULL,
|
|
174
|
-
jwt_exp TIMESTAMP WITH TIME ZONE,
|
|
175
|
-
connect_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
176
|
-
disconnect_at TIMESTAMP WITH TIME ZONE,
|
|
177
|
-
CONSTRAINT unique_user_client_connect UNIQUE (user_id, client_id, connect_at)
|
|
178
|
-
)
|
|
179
|
-
`.execute();
|
|
180
|
-
await db.sql ` CREATE INDEX sdk_list_index ON sdk_report_events (connect_at, jwt_exp, disconnect_at) `.execute();
|
|
181
|
-
await db.sql ` CREATE INDEX sdk_user_id_index ON sdk_report_events (user_id)`.execute();
|
|
182
|
-
await db.sql ` CREATE INDEX sdk_client_id_index ON sdk_report_events (client_id)`.execute();
|
|
183
|
-
await db.sql ` CREATE INDEX sdk_index ON sdk_report_events (sdk)`.execute();
|
|
184
167
|
});
|
|
185
168
|
}
|
|
186
169
|
catch (e_1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1684951997326-init.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1684951997326-init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAE5D;;;WAGG;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,8CAA8C,CAAC,OAAO,EAAE,CAAC;YAErE,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;KAUX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;KAaX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,0EAA0E,CAAC,OAAO,EAAE,CAAC;YAEjG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;KAMX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;KAOX,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"1684951997326-init.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1684951997326-init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAE5D;;;WAGG;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,8CAA8C,CAAC,OAAO,EAAE,CAAC;YAErE,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;KAUX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;KAaX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,0EAA0E,CAAC,OAAO,EAAE,CAAC;YAEjG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;KAMX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;KAOX,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QAC3E,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;CAC1B,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
53
|
+
import { openMigrationDB } from '../migration-utils.js';
|
|
54
|
+
export const up = async (context) => {
|
|
55
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
56
|
+
try {
|
|
57
|
+
const { service_context: { configuration } } = context;
|
|
58
|
+
const client = __addDisposableResource(env_1, openMigrationDB(configuration.storage), true);
|
|
59
|
+
await client.transaction(async (db) => {
|
|
60
|
+
await db.sql `
|
|
61
|
+
CREATE TABLE IF NOT EXISTS sdk_report_events (
|
|
62
|
+
id TEXT PRIMARY KEY,
|
|
63
|
+
user_agent TEXT NOT NULL,
|
|
64
|
+
client_id TEXT NOT NULL,
|
|
65
|
+
user_id TEXT NOT NULL,
|
|
66
|
+
sdk TEXT NOT NULL,
|
|
67
|
+
jwt_exp TIMESTAMP WITH TIME ZONE,
|
|
68
|
+
connect_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
69
|
+
disconnect_at TIMESTAMP WITH TIME ZONE,
|
|
70
|
+
)
|
|
71
|
+
`.execute();
|
|
72
|
+
await db.sql `
|
|
73
|
+
CREATE INDEX IF NOT EXISTS sdk_list_index ON sdk_report_events (connect_at, jwt_exp, disconnect_at)
|
|
74
|
+
`.execute();
|
|
75
|
+
await db.sql `CREATE INDEX IF NOT EXISTS sdk_user_id_index ON sdk_report_events (user_id)`.execute();
|
|
76
|
+
await db.sql `CREATE INDEX IF NOT EXISTS sdk_client_id_index ON sdk_report_events (client_id)`.execute();
|
|
77
|
+
await db.sql `CREATE INDEX IF NOT EXISTS sdk_index ON sdk_report_events (sdk)`.execute();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (e_1) {
|
|
81
|
+
env_1.error = e_1;
|
|
82
|
+
env_1.hasError = true;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
const result_1 = __disposeResources(env_1);
|
|
86
|
+
if (result_1)
|
|
87
|
+
await result_1;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
export const down = async (context) => {
|
|
91
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
92
|
+
try {
|
|
93
|
+
const { service_context: { configuration } } = context;
|
|
94
|
+
const client = __addDisposableResource(env_2, openMigrationDB(configuration.storage), true);
|
|
95
|
+
client.lockConnection(async (db) => {
|
|
96
|
+
await db.sql `DROP TABLE IF EXISTS sdk_report_events`.execute();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (e_2) {
|
|
100
|
+
env_2.error = e_2;
|
|
101
|
+
env_2.hasError = true;
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
const result_2 = __disposeResources(env_2);
|
|
105
|
+
if (result_2)
|
|
106
|
+
await result_2;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=1753871047719-sdk_report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1753871047719-sdk_report.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1753871047719-sdk_report.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAE5D,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,6EAA6E,CAAC,OAAO,EAAE,CAAC;YAEpG,MAAM,EAAE,CAAC,GAAG,CAAA,iFAAiF,CAAC,OAAO,EAAE,CAAC;YAExG,MAAM,EAAE,CAAC,GAAG,CAAA,iEAAiE,CAAC,OAAO,EAAE,CAAC;QAC1F,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QAC3E,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACjC,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@powersync/service-module-postgres-storage",
|
|
3
3
|
"repository": "https://github.com/powersync-ja/powersync-service",
|
|
4
4
|
"types": "dist/@types/index.d.ts",
|
|
5
|
-
"version": "0.0.0-dev-
|
|
5
|
+
"version": "0.0.0-dev-20250730103516",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"publishConfig": {
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"p-defer": "^4.0.1",
|
|
30
30
|
"ts-codec": "^1.3.0",
|
|
31
31
|
"uuid": "^11.1.0",
|
|
32
|
-
"@powersync/lib-service-postgres": "0.0.0-dev-
|
|
33
|
-
"@powersync/lib-services-framework": "0.0.0-dev-
|
|
34
|
-
"@powersync/service-core": "0.0.0-dev-
|
|
35
|
-
"@powersync/service-types": "0.0.0-dev-
|
|
36
|
-
"@powersync/service-core-tests": "0.0.0-dev-
|
|
37
|
-
"@powersync/service-jpgwire": "0.0.0-dev-
|
|
32
|
+
"@powersync/lib-service-postgres": "0.0.0-dev-20250730103516",
|
|
33
|
+
"@powersync/lib-services-framework": "0.0.0-dev-20250730103516",
|
|
34
|
+
"@powersync/service-core": "0.0.0-dev-20250730103516",
|
|
35
|
+
"@powersync/service-types": "0.0.0-dev-20250730103516",
|
|
36
|
+
"@powersync/service-core-tests": "0.0.0-dev-20250730103516",
|
|
37
|
+
"@powersync/service-jpgwire": "0.0.0-dev-20250730103516",
|
|
38
38
|
"@powersync/service-sync-rules": "0.27.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
@@ -128,28 +128,6 @@ export const up: migrations.PowerSyncMigrationFunction = async (context) => {
|
|
|
128
128
|
CONSTRAINT unique_user_sync PRIMARY KEY (user_id, sync_rules_id)
|
|
129
129
|
);
|
|
130
130
|
`.execute();
|
|
131
|
-
|
|
132
|
-
await db.sql`
|
|
133
|
-
CREATE TABLE sdk_report_events (
|
|
134
|
-
id TEXT PRIMARY KEY,
|
|
135
|
-
user_agent TEXT NOT NULL,
|
|
136
|
-
client_id TEXT NOT NULL,
|
|
137
|
-
user_id TEXT NOT NULL,
|
|
138
|
-
sdk TEXT NOT NULL,
|
|
139
|
-
jwt_exp TIMESTAMP WITH TIME ZONE,
|
|
140
|
-
connect_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
141
|
-
disconnect_at TIMESTAMP WITH TIME ZONE,
|
|
142
|
-
CONSTRAINT unique_user_client_connect UNIQUE (user_id, client_id, connect_at)
|
|
143
|
-
)
|
|
144
|
-
`.execute();
|
|
145
|
-
|
|
146
|
-
await db.sql` CREATE INDEX sdk_list_index ON sdk_report_events (connect_at, jwt_exp, disconnect_at) `.execute();
|
|
147
|
-
|
|
148
|
-
await db.sql` CREATE INDEX sdk_user_id_index ON sdk_report_events (user_id)`.execute();
|
|
149
|
-
|
|
150
|
-
await db.sql` CREATE INDEX sdk_client_id_index ON sdk_report_events (client_id)`.execute();
|
|
151
|
-
|
|
152
|
-
await db.sql` CREATE INDEX sdk_index ON sdk_report_events (sdk)`.execute();
|
|
153
131
|
});
|
|
154
132
|
};
|
|
155
133
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { migrations } from '@powersync/service-core';
|
|
2
|
+
|
|
3
|
+
import { openMigrationDB } from '../migration-utils.js';
|
|
4
|
+
|
|
5
|
+
export const up: migrations.PowerSyncMigrationFunction = async (context) => {
|
|
6
|
+
const {
|
|
7
|
+
service_context: { configuration }
|
|
8
|
+
} = context;
|
|
9
|
+
await using client = openMigrationDB(configuration.storage);
|
|
10
|
+
|
|
11
|
+
await client.transaction(async (db) => {
|
|
12
|
+
await db.sql`
|
|
13
|
+
CREATE TABLE IF NOT EXISTS sdk_report_events (
|
|
14
|
+
id TEXT PRIMARY KEY,
|
|
15
|
+
user_agent TEXT NOT NULL,
|
|
16
|
+
client_id TEXT NOT NULL,
|
|
17
|
+
user_id TEXT NOT NULL,
|
|
18
|
+
sdk TEXT NOT NULL,
|
|
19
|
+
jwt_exp TIMESTAMP WITH TIME ZONE,
|
|
20
|
+
connect_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
21
|
+
disconnect_at TIMESTAMP WITH TIME ZONE,
|
|
22
|
+
)
|
|
23
|
+
`.execute();
|
|
24
|
+
|
|
25
|
+
await db.sql`
|
|
26
|
+
CREATE INDEX IF NOT EXISTS sdk_list_index ON sdk_report_events (connect_at, jwt_exp, disconnect_at)
|
|
27
|
+
`.execute();
|
|
28
|
+
|
|
29
|
+
await db.sql`CREATE INDEX IF NOT EXISTS sdk_user_id_index ON sdk_report_events (user_id)`.execute();
|
|
30
|
+
|
|
31
|
+
await db.sql`CREATE INDEX IF NOT EXISTS sdk_client_id_index ON sdk_report_events (client_id)`.execute();
|
|
32
|
+
|
|
33
|
+
await db.sql`CREATE INDEX IF NOT EXISTS sdk_index ON sdk_report_events (sdk)`.execute();
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const down: migrations.PowerSyncMigrationFunction = async (context) => {
|
|
38
|
+
const {
|
|
39
|
+
service_context: { configuration }
|
|
40
|
+
} = context;
|
|
41
|
+
await using client = openMigrationDB(configuration.storage);
|
|
42
|
+
client.lockConnection(async (db) => {
|
|
43
|
+
await db.sql`DROP TABLE IF EXISTS sdk_report_events`.execute();
|
|
44
|
+
});
|
|
45
|
+
};
|