@paperclipai/db 0.3.0 → 0.3.1-canary.0
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/dist/backup-lib.d.ts +9 -0
- package/dist/backup-lib.d.ts.map +1 -1
- package/dist/backup-lib.js +230 -62
- package/dist/backup-lib.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +9 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migrate.js +21 -15
- package/dist/migrate.js.map +1 -1
- package/dist/migration-runtime.d.ts +7 -0
- package/dist/migration-runtime.d.ts.map +1 -0
- package/dist/migration-runtime.js +102 -0
- package/dist/migration-runtime.js.map +1 -0
- package/dist/migration-status.d.ts +2 -0
- package/dist/migration-status.d.ts.map +1 -0
- package/dist/migration-status.js +37 -0
- package/dist/migration-status.js.map +1 -0
- package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
- package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
- package/dist/migrations/meta/0026_snapshot.json +6193 -0
- package/dist/migrations/meta/0027_snapshot.json +6205 -0
- package/dist/migrations/meta/_journal.json +14 -0
- package/dist/migrations/migrations/0026_lying_pete_wisdom.sql +39 -0
- package/dist/migrations/migrations/0027_tranquil_tenebrous.sql +2 -0
- package/dist/migrations/migrations/meta/0026_snapshot.json +6193 -0
- package/dist/migrations/migrations/meta/0027_snapshot.json +6205 -0
- package/dist/migrations/migrations/meta/_journal.json +14 -0
- package/dist/runtime-config.d.ts +16 -0
- package/dist/runtime-config.d.ts.map +1 -0
- package/dist/runtime-config.js +197 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/runtime-config.test.d.ts +2 -0
- package/dist/runtime-config.test.d.ts.map +1 -0
- package/dist/runtime-config.test.js +93 -0
- package/dist/runtime-config.test.js.map +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/issues.d.ts +19 -0
- package/dist/schema/issues.d.ts.map +1 -1
- package/dist/schema/issues.js +1 -0
- package/dist/schema/issues.js.map +1 -1
- package/dist/schema/projects.d.ts +19 -0
- package/dist/schema/projects.d.ts.map +1 -1
- package/dist/schema/projects.js +2 -1
- package/dist/schema/projects.js.map +1 -1
- package/dist/schema/workspace_runtime_services.d.ts +452 -0
- package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
- package/dist/schema/workspace_runtime_services.js +41 -0
- package/dist/schema/workspace_runtime_services.js.map +1 -0
- package/package.json +2 -2
package/dist/backup-lib.d.ts
CHANGED
|
@@ -4,12 +4,21 @@ export type RunDatabaseBackupOptions = {
|
|
|
4
4
|
retentionDays: number;
|
|
5
5
|
filenamePrefix?: string;
|
|
6
6
|
connectTimeoutSeconds?: number;
|
|
7
|
+
includeMigrationJournal?: boolean;
|
|
8
|
+
excludeTables?: string[];
|
|
9
|
+
nullifyColumns?: Record<string, string[]>;
|
|
7
10
|
};
|
|
8
11
|
export type RunDatabaseBackupResult = {
|
|
9
12
|
backupFile: string;
|
|
10
13
|
sizeBytes: number;
|
|
11
14
|
prunedCount: number;
|
|
12
15
|
};
|
|
16
|
+
export type RunDatabaseRestoreOptions = {
|
|
17
|
+
connectionString: string;
|
|
18
|
+
backupFile: string;
|
|
19
|
+
connectTimeoutSeconds?: number;
|
|
20
|
+
};
|
|
13
21
|
export declare function runDatabaseBackup(opts: RunDatabaseBackupOptions): Promise<RunDatabaseBackupResult>;
|
|
22
|
+
export declare function runDatabaseRestore(opts: RunDatabaseRestoreOptions): Promise<void>;
|
|
14
23
|
export declare function formatDatabaseBackupResult(result: RunDatabaseBackupResult): string;
|
|
15
24
|
//# sourceMappingURL=backup-lib.d.ts.map
|
package/dist/backup-lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup-lib.d.ts","sourceRoot":"","sources":["../src/backup-lib.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"backup-lib.d.ts","sourceRoot":"","sources":["../src/backup-lib.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAqHF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA0XxG;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BvF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAIlF"}
|
package/dist/backup-lib.js
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readdirSync, statSync, unlinkSync } from "node:fs";
|
|
2
|
-
import { writeFile } from "node:fs/promises";
|
|
3
|
-
import { resolve } from "node:path";
|
|
2
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { basename, resolve } from "node:path";
|
|
4
4
|
import postgres from "postgres";
|
|
5
|
+
const DRIZZLE_SCHEMA = "drizzle";
|
|
6
|
+
const DRIZZLE_MIGRATIONS_TABLE = "__drizzle_migrations";
|
|
7
|
+
const STATEMENT_BREAKPOINT = "-- paperclip statement breakpoint 69f6f3f1-42fd-46a6-bf17-d1d85f8f3900";
|
|
8
|
+
function sanitizeRestoreErrorMessage(error) {
|
|
9
|
+
if (error && typeof error === "object") {
|
|
10
|
+
const record = error;
|
|
11
|
+
const firstLine = typeof record.message === "string"
|
|
12
|
+
? record.message.split(/\r?\n/, 1)[0]?.trim()
|
|
13
|
+
: "";
|
|
14
|
+
const detail = typeof record.detail === "string" ? record.detail.trim() : "";
|
|
15
|
+
const severity = typeof record.severity === "string" ? record.severity.trim() : "";
|
|
16
|
+
const message = firstLine || detail || (error instanceof Error ? error.message : String(error));
|
|
17
|
+
return severity ? `${severity}: ${message}` : message;
|
|
18
|
+
}
|
|
19
|
+
return error instanceof Error ? error.message : String(error);
|
|
20
|
+
}
|
|
5
21
|
function timestamp(date = new Date()) {
|
|
6
22
|
const pad = (n) => String(n).padStart(2, "0");
|
|
7
23
|
return `${date.getFullYear()}${pad(date.getMonth() + 1)}${pad(date.getDate())}-${pad(date.getHours())}${pad(date.getMinutes())}${pad(date.getSeconds())}`;
|
|
@@ -31,20 +47,83 @@ function formatBackupSize(sizeBytes) {
|
|
|
31
47
|
return `${(sizeBytes / 1024).toFixed(1)}K`;
|
|
32
48
|
return `${(sizeBytes / (1024 * 1024)).toFixed(1)}M`;
|
|
33
49
|
}
|
|
50
|
+
function formatSqlLiteral(value) {
|
|
51
|
+
const sanitized = value.replace(/\u0000/g, "");
|
|
52
|
+
let tag = "$paperclip$";
|
|
53
|
+
while (sanitized.includes(tag)) {
|
|
54
|
+
tag = `$paperclip_${Math.random().toString(36).slice(2, 8)}$`;
|
|
55
|
+
}
|
|
56
|
+
return `${tag}${sanitized}${tag}`;
|
|
57
|
+
}
|
|
58
|
+
function normalizeTableNameSet(values) {
|
|
59
|
+
return new Set((values ?? [])
|
|
60
|
+
.map((value) => value.trim())
|
|
61
|
+
.filter((value) => value.length > 0));
|
|
62
|
+
}
|
|
63
|
+
function normalizeNullifyColumnMap(values) {
|
|
64
|
+
const out = new Map();
|
|
65
|
+
if (!values)
|
|
66
|
+
return out;
|
|
67
|
+
for (const [tableName, columns] of Object.entries(values)) {
|
|
68
|
+
const normalizedTable = tableName.trim();
|
|
69
|
+
if (normalizedTable.length === 0)
|
|
70
|
+
continue;
|
|
71
|
+
const normalizedColumns = new Set(columns
|
|
72
|
+
.map((column) => column.trim())
|
|
73
|
+
.filter((column) => column.length > 0));
|
|
74
|
+
if (normalizedColumns.size > 0) {
|
|
75
|
+
out.set(normalizedTable, normalizedColumns);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
function quoteIdentifier(value) {
|
|
81
|
+
return `"${value.replaceAll("\"", "\"\"")}"`;
|
|
82
|
+
}
|
|
83
|
+
function quoteQualifiedName(schemaName, objectName) {
|
|
84
|
+
return `${quoteIdentifier(schemaName)}.${quoteIdentifier(objectName)}`;
|
|
85
|
+
}
|
|
86
|
+
function tableKey(schemaName, tableName) {
|
|
87
|
+
return `${schemaName}.${tableName}`;
|
|
88
|
+
}
|
|
34
89
|
export async function runDatabaseBackup(opts) {
|
|
35
90
|
const filenamePrefix = opts.filenamePrefix ?? "paperclip";
|
|
36
91
|
const retentionDays = Math.max(1, Math.trunc(opts.retentionDays));
|
|
37
92
|
const connectTimeout = Math.max(1, Math.trunc(opts.connectTimeoutSeconds ?? 5));
|
|
93
|
+
const includeMigrationJournal = opts.includeMigrationJournal === true;
|
|
94
|
+
const excludedTableNames = normalizeTableNameSet(opts.excludeTables);
|
|
95
|
+
const nullifiedColumnsByTable = normalizeNullifyColumnMap(opts.nullifyColumns);
|
|
38
96
|
const sql = postgres(opts.connectionString, { max: 1, connect_timeout: connectTimeout });
|
|
39
97
|
try {
|
|
40
98
|
await sql `SELECT 1`;
|
|
41
99
|
const lines = [];
|
|
42
100
|
const emit = (line) => lines.push(line);
|
|
101
|
+
const emitStatement = (statement) => {
|
|
102
|
+
emit(statement);
|
|
103
|
+
emit(STATEMENT_BREAKPOINT);
|
|
104
|
+
};
|
|
105
|
+
const emitStatementBoundary = () => {
|
|
106
|
+
emit(STATEMENT_BREAKPOINT);
|
|
107
|
+
};
|
|
43
108
|
emit("-- Paperclip database backup");
|
|
44
109
|
emit(`-- Created: ${new Date().toISOString()}`);
|
|
45
110
|
emit("");
|
|
46
|
-
|
|
111
|
+
emitStatement("BEGIN;");
|
|
112
|
+
emitStatement("SET LOCAL session_replication_role = replica;");
|
|
113
|
+
emitStatement("SET LOCAL client_min_messages = warning;");
|
|
47
114
|
emit("");
|
|
115
|
+
const allTables = await sql `
|
|
116
|
+
SELECT table_schema AS schema_name, table_name AS tablename
|
|
117
|
+
FROM information_schema.tables
|
|
118
|
+
WHERE table_type = 'BASE TABLE'
|
|
119
|
+
AND (
|
|
120
|
+
table_schema = 'public'
|
|
121
|
+
OR (${includeMigrationJournal}::boolean AND table_schema = ${DRIZZLE_SCHEMA} AND table_name = ${DRIZZLE_MIGRATIONS_TABLE})
|
|
122
|
+
)
|
|
123
|
+
ORDER BY table_schema, table_name
|
|
124
|
+
`;
|
|
125
|
+
const tables = allTables;
|
|
126
|
+
const includedTableNames = new Set(tables.map(({ schema_name, tablename }) => tableKey(schema_name, tablename)));
|
|
48
127
|
// Get all enums
|
|
49
128
|
const enums = await sql `
|
|
50
129
|
SELECT t.typname, array_agg(e.enumlabel ORDER BY e.enumsortorder) AS labels
|
|
@@ -57,31 +136,69 @@ export async function runDatabaseBackup(opts) {
|
|
|
57
136
|
`;
|
|
58
137
|
for (const e of enums) {
|
|
59
138
|
const labels = e.labels.map((l) => `'${l.replace(/'/g, "''")}'`).join(", ");
|
|
60
|
-
|
|
139
|
+
emitStatement(`CREATE TYPE "public"."${e.typname}" AS ENUM (${labels});`);
|
|
61
140
|
}
|
|
62
141
|
if (enums.length > 0)
|
|
63
142
|
emit("");
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
143
|
+
const allSequences = await sql `
|
|
144
|
+
SELECT
|
|
145
|
+
s.sequence_schema,
|
|
146
|
+
s.sequence_name,
|
|
147
|
+
s.data_type,
|
|
148
|
+
s.start_value,
|
|
149
|
+
s.minimum_value,
|
|
150
|
+
s.maximum_value,
|
|
151
|
+
s.increment,
|
|
152
|
+
s.cycle_option,
|
|
153
|
+
tblns.nspname AS owner_schema,
|
|
154
|
+
tbl.relname AS owner_table,
|
|
155
|
+
attr.attname AS owner_column
|
|
156
|
+
FROM information_schema.sequences s
|
|
157
|
+
JOIN pg_class seq ON seq.relname = s.sequence_name
|
|
158
|
+
JOIN pg_namespace n ON n.oid = seq.relnamespace AND n.nspname = s.sequence_schema
|
|
159
|
+
LEFT JOIN pg_depend dep ON dep.objid = seq.oid AND dep.deptype = 'a'
|
|
160
|
+
LEFT JOIN pg_class tbl ON tbl.oid = dep.refobjid
|
|
161
|
+
LEFT JOIN pg_namespace tblns ON tblns.oid = tbl.relnamespace
|
|
162
|
+
LEFT JOIN pg_attribute attr ON attr.attrelid = tbl.oid AND attr.attnum = dep.refobjsubid
|
|
163
|
+
WHERE s.sequence_schema = 'public'
|
|
164
|
+
OR (${includeMigrationJournal}::boolean AND s.sequence_schema = ${DRIZZLE_SCHEMA})
|
|
165
|
+
ORDER BY s.sequence_schema, s.sequence_name
|
|
73
166
|
`;
|
|
167
|
+
const sequences = allSequences.filter((seq) => !seq.owner_table || includedTableNames.has(tableKey(seq.owner_schema ?? "public", seq.owner_table)));
|
|
168
|
+
const schemas = new Set();
|
|
169
|
+
for (const table of tables)
|
|
170
|
+
schemas.add(table.schema_name);
|
|
171
|
+
for (const seq of sequences)
|
|
172
|
+
schemas.add(seq.sequence_schema);
|
|
173
|
+
const extraSchemas = [...schemas].filter((schemaName) => schemaName !== "public");
|
|
174
|
+
if (extraSchemas.length > 0) {
|
|
175
|
+
emit("-- Schemas");
|
|
176
|
+
for (const schemaName of extraSchemas) {
|
|
177
|
+
emitStatement(`CREATE SCHEMA IF NOT EXISTS ${quoteIdentifier(schemaName)};`);
|
|
178
|
+
}
|
|
179
|
+
emit("");
|
|
180
|
+
}
|
|
181
|
+
if (sequences.length > 0) {
|
|
182
|
+
emit("-- Sequences");
|
|
183
|
+
for (const seq of sequences) {
|
|
184
|
+
const qualifiedSequenceName = quoteQualifiedName(seq.sequence_schema, seq.sequence_name);
|
|
185
|
+
emitStatement(`DROP SEQUENCE IF EXISTS ${qualifiedSequenceName} CASCADE;`);
|
|
186
|
+
emitStatement(`CREATE SEQUENCE ${qualifiedSequenceName} AS ${seq.data_type} INCREMENT BY ${seq.increment} MINVALUE ${seq.minimum_value} MAXVALUE ${seq.maximum_value} START WITH ${seq.start_value}${seq.cycle_option === "YES" ? " CYCLE" : " NO CYCLE"};`);
|
|
187
|
+
}
|
|
188
|
+
emit("");
|
|
189
|
+
}
|
|
74
190
|
// Get full CREATE TABLE DDL via column info
|
|
75
|
-
for (const { tablename } of tables) {
|
|
191
|
+
for (const { schema_name, tablename } of tables) {
|
|
192
|
+
const qualifiedTableName = quoteQualifiedName(schema_name, tablename);
|
|
76
193
|
const columns = await sql `
|
|
77
194
|
SELECT column_name, data_type, udt_name, is_nullable, column_default,
|
|
78
195
|
character_maximum_length, numeric_precision, numeric_scale
|
|
79
196
|
FROM information_schema.columns
|
|
80
|
-
WHERE table_schema =
|
|
197
|
+
WHERE table_schema = ${schema_name} AND table_name = ${tablename}
|
|
81
198
|
ORDER BY ordinal_position
|
|
82
199
|
`;
|
|
83
|
-
emit(`-- Table: ${tablename}`);
|
|
84
|
-
|
|
200
|
+
emit(`-- Table: ${schema_name}.${tablename}`);
|
|
201
|
+
emitStatement(`DROP TABLE IF EXISTS ${qualifiedTableName} CASCADE;`);
|
|
85
202
|
const colDefs = [];
|
|
86
203
|
for (const col of columns) {
|
|
87
204
|
let typeStr;
|
|
@@ -120,105 +237,134 @@ export async function runDatabaseBackup(opts) {
|
|
|
120
237
|
JOIN pg_class t ON t.oid = c.conrelid
|
|
121
238
|
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
122
239
|
JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)
|
|
123
|
-
WHERE n.nspname =
|
|
240
|
+
WHERE n.nspname = ${schema_name} AND t.relname = ${tablename} AND c.contype = 'p'
|
|
124
241
|
GROUP BY c.conname
|
|
125
242
|
`;
|
|
126
243
|
for (const p of pk) {
|
|
127
244
|
const cols = p.column_names.map((c) => `"${c}"`).join(", ");
|
|
128
245
|
colDefs.push(` CONSTRAINT "${p.constraint_name}" PRIMARY KEY (${cols})`);
|
|
129
246
|
}
|
|
130
|
-
emit(`CREATE TABLE
|
|
247
|
+
emit(`CREATE TABLE ${qualifiedTableName} (`);
|
|
131
248
|
emit(colDefs.join(",\n"));
|
|
132
249
|
emit(");");
|
|
250
|
+
emitStatementBoundary();
|
|
251
|
+
emit("");
|
|
252
|
+
}
|
|
253
|
+
const ownedSequences = sequences.filter((seq) => seq.owner_table && seq.owner_column);
|
|
254
|
+
if (ownedSequences.length > 0) {
|
|
255
|
+
emit("-- Sequence ownership");
|
|
256
|
+
for (const seq of ownedSequences) {
|
|
257
|
+
emitStatement(`ALTER SEQUENCE ${quoteQualifiedName(seq.sequence_schema, seq.sequence_name)} OWNED BY ${quoteQualifiedName(seq.owner_schema ?? "public", seq.owner_table)}.${quoteIdentifier(seq.owner_column)};`);
|
|
258
|
+
}
|
|
133
259
|
emit("");
|
|
134
260
|
}
|
|
135
261
|
// Foreign keys (after all tables created)
|
|
136
|
-
const
|
|
262
|
+
const allForeignKeys = await sql `
|
|
137
263
|
SELECT
|
|
138
264
|
c.conname AS constraint_name,
|
|
265
|
+
srcn.nspname AS source_schema,
|
|
139
266
|
src.relname AS source_table,
|
|
140
267
|
array_agg(sa.attname ORDER BY array_position(c.conkey, sa.attnum)) AS source_columns,
|
|
268
|
+
tgtn.nspname AS target_schema,
|
|
141
269
|
tgt.relname AS target_table,
|
|
142
270
|
array_agg(ta.attname ORDER BY array_position(c.confkey, ta.attnum)) AS target_columns,
|
|
143
271
|
CASE c.confupdtype WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END AS update_rule,
|
|
144
272
|
CASE c.confdeltype WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END AS delete_rule
|
|
145
273
|
FROM pg_constraint c
|
|
146
274
|
JOIN pg_class src ON src.oid = c.conrelid
|
|
275
|
+
JOIN pg_namespace srcn ON srcn.oid = src.relnamespace
|
|
147
276
|
JOIN pg_class tgt ON tgt.oid = c.confrelid
|
|
148
|
-
JOIN pg_namespace
|
|
277
|
+
JOIN pg_namespace tgtn ON tgtn.oid = tgt.relnamespace
|
|
149
278
|
JOIN pg_attribute sa ON sa.attrelid = src.oid AND sa.attnum = ANY(c.conkey)
|
|
150
279
|
JOIN pg_attribute ta ON ta.attrelid = tgt.oid AND ta.attnum = ANY(c.confkey)
|
|
151
|
-
WHERE c.contype = 'f' AND
|
|
152
|
-
|
|
153
|
-
|
|
280
|
+
WHERE c.contype = 'f' AND (
|
|
281
|
+
srcn.nspname = 'public'
|
|
282
|
+
OR (${includeMigrationJournal}::boolean AND srcn.nspname = ${DRIZZLE_SCHEMA})
|
|
283
|
+
)
|
|
284
|
+
GROUP BY c.conname, srcn.nspname, src.relname, tgtn.nspname, tgt.relname, c.confupdtype, c.confdeltype
|
|
285
|
+
ORDER BY srcn.nspname, src.relname, c.conname
|
|
154
286
|
`;
|
|
287
|
+
const fks = allForeignKeys.filter((fk) => includedTableNames.has(tableKey(fk.source_schema, fk.source_table))
|
|
288
|
+
&& includedTableNames.has(tableKey(fk.target_schema, fk.target_table)));
|
|
155
289
|
if (fks.length > 0) {
|
|
156
290
|
emit("-- Foreign keys");
|
|
157
291
|
for (const fk of fks) {
|
|
158
292
|
const srcCols = fk.source_columns.map((c) => `"${c}"`).join(", ");
|
|
159
293
|
const tgtCols = fk.target_columns.map((c) => `"${c}"`).join(", ");
|
|
160
|
-
|
|
294
|
+
emitStatement(`ALTER TABLE ${quoteQualifiedName(fk.source_schema, fk.source_table)} ADD CONSTRAINT "${fk.constraint_name}" FOREIGN KEY (${srcCols}) REFERENCES ${quoteQualifiedName(fk.target_schema, fk.target_table)} (${tgtCols}) ON UPDATE ${fk.update_rule} ON DELETE ${fk.delete_rule};`);
|
|
161
295
|
}
|
|
162
296
|
emit("");
|
|
163
297
|
}
|
|
164
298
|
// Unique constraints
|
|
165
|
-
const
|
|
299
|
+
const allUniqueConstraints = await sql `
|
|
166
300
|
SELECT c.conname AS constraint_name,
|
|
301
|
+
n.nspname AS schema_name,
|
|
167
302
|
t.relname AS tablename,
|
|
168
303
|
array_agg(a.attname ORDER BY array_position(c.conkey, a.attnum)) AS column_names
|
|
169
304
|
FROM pg_constraint c
|
|
170
305
|
JOIN pg_class t ON t.oid = c.conrelid
|
|
171
306
|
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
172
307
|
JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)
|
|
173
|
-
WHERE
|
|
174
|
-
|
|
175
|
-
|
|
308
|
+
WHERE c.contype = 'u' AND (
|
|
309
|
+
n.nspname = 'public'
|
|
310
|
+
OR (${includeMigrationJournal}::boolean AND n.nspname = ${DRIZZLE_SCHEMA})
|
|
311
|
+
)
|
|
312
|
+
GROUP BY c.conname, n.nspname, t.relname
|
|
313
|
+
ORDER BY n.nspname, t.relname, c.conname
|
|
176
314
|
`;
|
|
315
|
+
const uniques = allUniqueConstraints.filter((entry) => includedTableNames.has(tableKey(entry.schema_name, entry.tablename)));
|
|
177
316
|
if (uniques.length > 0) {
|
|
178
317
|
emit("-- Unique constraints");
|
|
179
318
|
for (const u of uniques) {
|
|
180
319
|
const cols = u.column_names.map((c) => `"${c}"`).join(", ");
|
|
181
|
-
|
|
320
|
+
emitStatement(`ALTER TABLE ${quoteQualifiedName(u.schema_name, u.tablename)} ADD CONSTRAINT "${u.constraint_name}" UNIQUE (${cols});`);
|
|
182
321
|
}
|
|
183
322
|
emit("");
|
|
184
323
|
}
|
|
185
324
|
// Indexes (non-primary, non-unique-constraint)
|
|
186
|
-
const
|
|
187
|
-
SELECT indexdef
|
|
325
|
+
const allIndexes = await sql `
|
|
326
|
+
SELECT schemaname AS schema_name, tablename, indexdef
|
|
188
327
|
FROM pg_indexes
|
|
189
|
-
WHERE
|
|
328
|
+
WHERE (
|
|
329
|
+
schemaname = 'public'
|
|
330
|
+
OR (${includeMigrationJournal}::boolean AND schemaname = ${DRIZZLE_SCHEMA})
|
|
331
|
+
)
|
|
190
332
|
AND indexname NOT IN (
|
|
191
|
-
SELECT conname FROM pg_constraint
|
|
192
|
-
|
|
333
|
+
SELECT conname FROM pg_constraint c
|
|
334
|
+
JOIN pg_namespace n ON n.oid = c.connamespace
|
|
335
|
+
WHERE n.nspname = pg_indexes.schemaname
|
|
193
336
|
)
|
|
194
|
-
ORDER BY tablename, indexname
|
|
337
|
+
ORDER BY schemaname, tablename, indexname
|
|
195
338
|
`;
|
|
339
|
+
const indexes = allIndexes.filter((entry) => includedTableNames.has(tableKey(entry.schema_name, entry.tablename)));
|
|
196
340
|
if (indexes.length > 0) {
|
|
197
341
|
emit("-- Indexes");
|
|
198
342
|
for (const idx of indexes) {
|
|
199
|
-
|
|
343
|
+
emitStatement(`${idx.indexdef};`);
|
|
200
344
|
}
|
|
201
345
|
emit("");
|
|
202
346
|
}
|
|
203
347
|
// Dump data for each table
|
|
204
|
-
for (const { tablename } of tables) {
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
if ((count[0]?.n ?? 0) === 0)
|
|
348
|
+
for (const { schema_name, tablename } of tables) {
|
|
349
|
+
const qualifiedTableName = quoteQualifiedName(schema_name, tablename);
|
|
350
|
+
const count = await sql.unsafe(`SELECT count(*)::int AS n FROM ${qualifiedTableName}`);
|
|
351
|
+
if (excludedTableNames.has(tablename) || (count[0]?.n ?? 0) === 0)
|
|
209
352
|
continue;
|
|
210
353
|
// Get column info for this table
|
|
211
354
|
const cols = await sql `
|
|
212
355
|
SELECT column_name, data_type
|
|
213
356
|
FROM information_schema.columns
|
|
214
|
-
WHERE table_schema =
|
|
357
|
+
WHERE table_schema = ${schema_name} AND table_name = ${tablename}
|
|
215
358
|
ORDER BY ordinal_position
|
|
216
359
|
`;
|
|
217
360
|
const colNames = cols.map((c) => `"${c.column_name}"`).join(", ");
|
|
218
|
-
emit(`-- Data for: ${tablename} (${count[0].n} rows)`);
|
|
219
|
-
const rows = await sql
|
|
361
|
+
emit(`-- Data for: ${schema_name}.${tablename} (${count[0].n} rows)`);
|
|
362
|
+
const rows = await sql.unsafe(`SELECT * FROM ${qualifiedTableName}`).values();
|
|
363
|
+
const nullifiedColumns = nullifiedColumnsByTable.get(tablename) ?? new Set();
|
|
220
364
|
for (const row of rows) {
|
|
221
|
-
const values = row.map((
|
|
365
|
+
const values = row.map((rawValue, index) => {
|
|
366
|
+
const columnName = cols[index]?.column_name;
|
|
367
|
+
const val = columnName && nullifiedColumns.has(columnName) ? null : rawValue;
|
|
222
368
|
if (val === null || val === undefined)
|
|
223
369
|
return "NULL";
|
|
224
370
|
if (typeof val === "boolean")
|
|
@@ -226,35 +372,30 @@ export async function runDatabaseBackup(opts) {
|
|
|
226
372
|
if (typeof val === "number")
|
|
227
373
|
return String(val);
|
|
228
374
|
if (val instanceof Date)
|
|
229
|
-
return
|
|
375
|
+
return formatSqlLiteral(val.toISOString());
|
|
230
376
|
if (typeof val === "object")
|
|
231
|
-
return
|
|
232
|
-
return
|
|
377
|
+
return formatSqlLiteral(JSON.stringify(val));
|
|
378
|
+
return formatSqlLiteral(String(val));
|
|
233
379
|
});
|
|
234
|
-
|
|
380
|
+
emitStatement(`INSERT INTO ${qualifiedTableName} (${colNames}) VALUES (${values.join(", ")});`);
|
|
235
381
|
}
|
|
236
382
|
emit("");
|
|
237
383
|
}
|
|
238
384
|
// Sequence values
|
|
239
|
-
const sequences = await sql `
|
|
240
|
-
SELECT sequence_name
|
|
241
|
-
FROM information_schema.sequences
|
|
242
|
-
WHERE sequence_schema = 'public'
|
|
243
|
-
ORDER BY sequence_name
|
|
244
|
-
`;
|
|
245
385
|
if (sequences.length > 0) {
|
|
246
386
|
emit("-- Sequence values");
|
|
247
387
|
for (const seq of sequences) {
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
388
|
+
const qualifiedSequenceName = quoteQualifiedName(seq.sequence_schema, seq.sequence_name);
|
|
389
|
+
const val = await sql.unsafe(`SELECT last_value::text, is_called FROM ${qualifiedSequenceName}`);
|
|
390
|
+
const skipSequenceValue = seq.owner_table !== null
|
|
391
|
+
&& excludedTableNames.has(seq.owner_table);
|
|
392
|
+
if (val[0] && !skipSequenceValue) {
|
|
393
|
+
emitStatement(`SELECT setval('${qualifiedSequenceName.replaceAll("'", "''")}', ${val[0].last_value}, ${val[0].is_called ? "true" : "false"});`);
|
|
253
394
|
}
|
|
254
395
|
}
|
|
255
396
|
emit("");
|
|
256
397
|
}
|
|
257
|
-
|
|
398
|
+
emitStatement("COMMIT;");
|
|
258
399
|
emit("");
|
|
259
400
|
// Write the backup file
|
|
260
401
|
mkdirSync(opts.backupDir, { recursive: true });
|
|
@@ -272,6 +413,33 @@ export async function runDatabaseBackup(opts) {
|
|
|
272
413
|
await sql.end();
|
|
273
414
|
}
|
|
274
415
|
}
|
|
416
|
+
export async function runDatabaseRestore(opts) {
|
|
417
|
+
const connectTimeout = Math.max(1, Math.trunc(opts.connectTimeoutSeconds ?? 5));
|
|
418
|
+
const sql = postgres(opts.connectionString, { max: 1, connect_timeout: connectTimeout });
|
|
419
|
+
try {
|
|
420
|
+
await sql `SELECT 1`;
|
|
421
|
+
const contents = await readFile(opts.backupFile, "utf8");
|
|
422
|
+
const statements = contents
|
|
423
|
+
.split(STATEMENT_BREAKPOINT)
|
|
424
|
+
.map((statement) => statement.trim())
|
|
425
|
+
.filter((statement) => statement.length > 0);
|
|
426
|
+
for (const statement of statements) {
|
|
427
|
+
await sql.unsafe(statement).execute();
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
catch (error) {
|
|
431
|
+
const statementPreview = typeof error === "object" && error !== null && typeof error.query === "string"
|
|
432
|
+
? String(error.query)
|
|
433
|
+
.split(/\r?\n/)
|
|
434
|
+
.map((line) => line.trim())
|
|
435
|
+
.find((line) => line.length > 0 && !line.startsWith("--"))
|
|
436
|
+
: null;
|
|
437
|
+
throw new Error(`Failed to restore ${basename(opts.backupFile)}: ${sanitizeRestoreErrorMessage(error)}${statementPreview ? ` [statement: ${statementPreview.slice(0, 120)}]` : ""}`);
|
|
438
|
+
}
|
|
439
|
+
finally {
|
|
440
|
+
await sql.end();
|
|
441
|
+
}
|
|
442
|
+
}
|
|
275
443
|
export function formatDatabaseBackupResult(result) {
|
|
276
444
|
const size = formatBackupSize(result.sizeBytes);
|
|
277
445
|
const pruned = result.prunedCount > 0 ? `; pruned ${result.prunedCount} old backup(s)` : "";
|
package/dist/backup-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup-lib.js","sourceRoot":"","sources":["../src/backup-lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backup-lib.js","sourceRoot":"","sources":["../src/backup-lib.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AA8B5C,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,GACtG;IACE,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,+BAA+B,GAAG,mCAAmC,GAAG,oBAAoB,CAAC;CACtG,CAAC;AAEN,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM;;EAGnC;AA+ZD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,+BAA+B,CAAC,CA2F1C;AAqBD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0D5E;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvE;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,CAAC,CAAA;CAAE,GAC9D;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gCAAgC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8B3F;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,CAiB/B;AAED,MAAM,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -8,6 +8,9 @@ import * as schema from "./schema/index.js";
|
|
|
8
8
|
const MIGRATIONS_FOLDER = fileURLToPath(new URL("./migrations", import.meta.url));
|
|
9
9
|
const DRIZZLE_MIGRATIONS_TABLE = "__drizzle_migrations";
|
|
10
10
|
const MIGRATIONS_JOURNAL_JSON = fileURLToPath(new URL("./migrations/meta/_journal.json", import.meta.url));
|
|
11
|
+
function createUtilitySql(url) {
|
|
12
|
+
return postgres(url, { max: 1, onnotice: () => { } });
|
|
13
|
+
}
|
|
11
14
|
function isSafeIdentifier(value) {
|
|
12
15
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(value);
|
|
13
16
|
}
|
|
@@ -160,7 +163,7 @@ async function applyPendingMigrationsManually(url, pendingMigrations) {
|
|
|
160
163
|
const orderedPendingMigrations = await orderMigrationsByJournal(pendingMigrations);
|
|
161
164
|
const journalEntries = await listJournalMigrationEntries();
|
|
162
165
|
const folderMillisByFileName = new Map(journalEntries.map((entry) => [entry.fileName, normalizeFolderMillis(entry.folderMillis)]));
|
|
163
|
-
const sql =
|
|
166
|
+
const sql = createUtilitySql(url);
|
|
164
167
|
try {
|
|
165
168
|
const { migrationTableSchema, columnNames } = await ensureMigrationJournalTable(sql);
|
|
166
169
|
const qualifiedTable = `${quoteIdentifier(migrationTableSchema)}.${quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE)}`;
|
|
@@ -331,7 +334,7 @@ export async function reconcilePendingMigrationHistory(url) {
|
|
|
331
334
|
if (state.status !== "needsMigrations" || state.reason !== "pending-migrations") {
|
|
332
335
|
return { repairedMigrations: [], remainingMigrations: [] };
|
|
333
336
|
}
|
|
334
|
-
const sql =
|
|
337
|
+
const sql = createUtilitySql(url);
|
|
335
338
|
const repairedMigrations = [];
|
|
336
339
|
try {
|
|
337
340
|
const journalEntries = await listJournalMigrationEntries();
|
|
@@ -416,7 +419,7 @@ async function discoverMigrationTableSchema(sql) {
|
|
|
416
419
|
return rows[0]?.schemaName ?? null;
|
|
417
420
|
}
|
|
418
421
|
export async function inspectMigrations(url) {
|
|
419
|
-
const sql =
|
|
422
|
+
const sql = createUtilitySql(url);
|
|
420
423
|
try {
|
|
421
424
|
const availableMigrations = await listMigrationFiles();
|
|
422
425
|
const tableCountResult = await sql `
|
|
@@ -474,7 +477,7 @@ export async function applyPendingMigrations(url) {
|
|
|
474
477
|
const initialState = await inspectMigrations(url);
|
|
475
478
|
if (initialState.status === "upToDate")
|
|
476
479
|
return;
|
|
477
|
-
const sql =
|
|
480
|
+
const sql = createUtilitySql(url);
|
|
478
481
|
try {
|
|
479
482
|
const db = drizzlePg(sql);
|
|
480
483
|
await migratePg(db, { migrationsFolder: MIGRATIONS_FOLDER });
|
|
@@ -501,7 +504,7 @@ export async function applyPendingMigrations(url) {
|
|
|
501
504
|
}
|
|
502
505
|
}
|
|
503
506
|
export async function migratePostgresIfEmpty(url) {
|
|
504
|
-
const sql =
|
|
507
|
+
const sql = createUtilitySql(url);
|
|
505
508
|
try {
|
|
506
509
|
const migrationTableSchema = await discoverMigrationTableSchema(sql);
|
|
507
510
|
const tableCountResult = await sql `
|
|
@@ -529,7 +532,7 @@ export async function ensurePostgresDatabase(url, databaseName) {
|
|
|
529
532
|
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(databaseName)) {
|
|
530
533
|
throw new Error(`Unsafe database name: ${databaseName}`);
|
|
531
534
|
}
|
|
532
|
-
const sql =
|
|
535
|
+
const sql = createUtilitySql(url);
|
|
533
536
|
try {
|
|
534
537
|
const existing = await sql `
|
|
535
538
|
select 1 as one from pg_database where datname = ${databaseName} limit 1
|