1import * as Effect from "effect/Effect";
2import * as SqlClient from "effect/sql/SqlClient";
3
4export default Effect.gen(function* () {
5 const sql = yield* SqlClient.SqlClient;
6 const columns = yield* sql<{ readonly name: string }>`
7 PRAGMA table_info(projection_threads)
8 `;
9
10 if (!columns.some((column) => column.name === "settled_override")) {
11 yield* sql`
12 ALTER TABLE projection_threads
13 ADD COLUMN settled_override TEXT
14 `;
15 }
16
17 if (!columns.some((column) => column.name === "settled_at")) {
18 yield* sql`
19 ALTER TABLE projection_threads
20 ADD COLUMN settled_at TEXT
21 `;
22 }
23});