@penclipai/db 2026.426.0 → 2026.505.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 +5 -0
- package/dist/backup-lib.d.ts.map +1 -1
- package/dist/backup-lib.js +44 -44
- package/dist/backup-lib.js.map +1 -1
- package/dist/backup-lib.test.js +111 -1
- package/dist/backup-lib.test.js.map +1 -1
- package/dist/migrations/0071_default_hire_approval_off.sql +1 -0
- package/dist/migrations/0072_large_sandman.sql +6 -0
- package/dist/migrations/0073_shiny_salo.sql +1 -0
- package/dist/migrations/0074_striped_genesis.sql +4 -0
- package/dist/migrations/0075_cultured_sebastian_shaw.sql +7 -0
- package/dist/migrations/meta/0072_snapshot.json +15852 -0
- package/dist/migrations/meta/0073_snapshot.json +15859 -0
- package/dist/migrations/meta/0074_snapshot.json +15887 -0
- package/dist/migrations/meta/0075_snapshot.json +15945 -0
- package/dist/migrations/meta/_journal.json +36 -1
- package/dist/schema/companies.d.ts +17 -0
- package/dist/schema/companies.d.ts.map +1 -1
- package/dist/schema/companies.js +4 -1
- package/dist/schema/companies.js.map +1 -1
- package/dist/schema/issues.d.ts +102 -0
- package/dist/schema/issues.d.ts.map +1 -1
- package/dist/schema/issues.js +19 -0
- package/dist/schema/issues.js.map +1 -1
- package/package.json +2 -2
package/dist/backup-lib.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export type RunDatabaseBackupOptions = {
|
|
|
9
9
|
retention: BackupRetentionPolicy;
|
|
10
10
|
filenamePrefix?: string;
|
|
11
11
|
connectTimeoutSeconds?: number;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Migration-journal schemas are included with the normal backup
|
|
14
|
+
* scope. This option is kept for compatibility and no longer changes backup
|
|
15
|
+
* engine selection.
|
|
16
|
+
*/
|
|
12
17
|
includeMigrationJournal?: boolean;
|
|
13
18
|
excludeTables?: string[];
|
|
14
19
|
nullifyColumns?: Record<string, string[]>;
|
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":"AASA,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,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;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;CAClD,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;
|
|
1
|
+
{"version":3,"file":"backup-lib.d.ts","sourceRoot":"","sources":["../src/backup-lib.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;CAClD,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;AAiXF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,SAAoC;eA8BpG,MAAM;;oBAiBK,MAAM,GAAG,MAAM;;;EAiCxC;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA8cxG;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAIlF"}
|
package/dist/backup-lib.js
CHANGED
|
@@ -6,8 +6,6 @@ import { open as openFile } from "node:fs/promises";
|
|
|
6
6
|
import { pipeline } from "node:stream/promises";
|
|
7
7
|
import { createGunzip, createGzip } from "node:zlib";
|
|
8
8
|
import postgres from "postgres";
|
|
9
|
-
const DRIZZLE_SCHEMA = "drizzle";
|
|
10
|
-
const DRIZZLE_MIGRATIONS_TABLE = "__drizzle_migrations";
|
|
11
9
|
const DEFAULT_BACKUP_WRITE_BUFFER_BYTES = 1024 * 1024;
|
|
12
10
|
const BACKUP_DATA_CURSOR_ROWS = 100;
|
|
13
11
|
const BACKUP_CLI_STDERR_BYTES = 64 * 1024;
|
|
@@ -124,15 +122,21 @@ function formatSqlLiteral(value) {
|
|
|
124
122
|
}
|
|
125
123
|
function normalizeTableNameSet(values) {
|
|
126
124
|
return new Set((values ?? [])
|
|
127
|
-
.map(
|
|
125
|
+
.map(normalizeTableSelector)
|
|
128
126
|
.filter((value) => value.length > 0));
|
|
129
127
|
}
|
|
128
|
+
function normalizeTableSelector(value) {
|
|
129
|
+
const trimmed = value.trim();
|
|
130
|
+
if (trimmed.length === 0)
|
|
131
|
+
return "";
|
|
132
|
+
return trimmed.includes(".") ? trimmed : tableKey("public", trimmed);
|
|
133
|
+
}
|
|
130
134
|
function normalizeNullifyColumnMap(values) {
|
|
131
135
|
const out = new Map();
|
|
132
136
|
if (!values)
|
|
133
137
|
return out;
|
|
134
138
|
for (const [tableName, columns] of Object.entries(values)) {
|
|
135
|
-
const normalizedTable = tableName
|
|
139
|
+
const normalizedTable = normalizeTableSelector(tableName);
|
|
136
140
|
if (normalizedTable.length === 0)
|
|
137
141
|
continue;
|
|
138
142
|
const normalizedColumns = new Set(columns
|
|
@@ -153,9 +157,13 @@ function quoteQualifiedName(schemaName, objectName) {
|
|
|
153
157
|
function tableKey(schemaName, tableName) {
|
|
154
158
|
return `${schemaName}.${tableName}`;
|
|
155
159
|
}
|
|
160
|
+
function nonSystemSchemaPredicate(identifier) {
|
|
161
|
+
// PostgreSQL reserves pg_ prefixes for system schemas, including temp/toast variants.
|
|
162
|
+
return `${identifier} <> 'information_schema'
|
|
163
|
+
AND ${identifier} NOT LIKE 'pg\\_%' ESCAPE '\\'`;
|
|
164
|
+
}
|
|
156
165
|
function hasBackupTransforms(opts) {
|
|
157
|
-
return opts.
|
|
158
|
-
(opts.excludeTables?.length ?? 0) > 0 ||
|
|
166
|
+
return (opts.excludeTables?.length ?? 0) > 0 ||
|
|
159
167
|
Object.keys(opts.nullifyColumns ?? {}).length > 0;
|
|
160
168
|
}
|
|
161
169
|
function formatSqlValue(rawValue, columnName, nullifiedColumns) {
|
|
@@ -203,7 +211,6 @@ async function runPgDumpBackup(opts) {
|
|
|
203
211
|
"--if-exists",
|
|
204
212
|
"--no-owner",
|
|
205
213
|
"--no-privileges",
|
|
206
|
-
"--schema=public",
|
|
207
214
|
], {
|
|
208
215
|
stdio: ["ignore", "pipe", "pipe"],
|
|
209
216
|
env: {
|
|
@@ -388,7 +395,6 @@ export async function runDatabaseBackup(opts) {
|
|
|
388
395
|
const connectTimeout = Math.max(1, Math.trunc(opts.connectTimeoutSeconds ?? 5));
|
|
389
396
|
const backupEngine = opts.backupEngine ?? "auto";
|
|
390
397
|
const canUsePgDump = !hasBackupTransforms(opts);
|
|
391
|
-
const includeMigrationJournal = opts.includeMigrationJournal === true;
|
|
392
398
|
const excludedTableNames = normalizeTableNameSet(opts.excludeTables);
|
|
393
399
|
const nullifiedColumnsByTable = normalizeNullifyColumnMap(opts.nullifyColumns);
|
|
394
400
|
let sql = postgres(opts.connectionString, { max: 1, connect_timeout: connectTimeout });
|
|
@@ -456,30 +462,24 @@ export async function runDatabaseBackup(opts) {
|
|
|
456
462
|
SELECT table_schema AS schema_name, table_name AS tablename
|
|
457
463
|
FROM information_schema.tables
|
|
458
464
|
WHERE table_type = 'BASE TABLE'
|
|
459
|
-
AND (
|
|
460
|
-
table_schema = 'public'
|
|
461
|
-
OR (${includeMigrationJournal}::boolean AND table_schema = ${DRIZZLE_SCHEMA} AND table_name = ${DRIZZLE_MIGRATIONS_TABLE})
|
|
462
|
-
)
|
|
465
|
+
AND ${sql.unsafe(nonSystemSchemaPredicate("table_schema"))}
|
|
463
466
|
ORDER BY table_schema, table_name
|
|
464
467
|
`;
|
|
465
468
|
const tables = allTables;
|
|
466
469
|
const includedTableNames = new Set(tables.map(({ schema_name, tablename }) => tableKey(schema_name, tablename)));
|
|
470
|
+
const includedSchemas = new Set(tables.map(({ schema_name }) => schema_name));
|
|
467
471
|
// Get all enums
|
|
468
472
|
const enums = await sql `
|
|
469
|
-
SELECT t.typname, array_agg(e.enumlabel ORDER BY e.enumsortorder) AS labels
|
|
473
|
+
SELECT n.nspname AS schema_name, t.typname, array_agg(e.enumlabel ORDER BY e.enumsortorder) AS labels
|
|
470
474
|
FROM pg_type t
|
|
471
475
|
JOIN pg_enum e ON t.oid = e.enumtypid
|
|
472
476
|
JOIN pg_namespace n ON t.typnamespace = n.oid
|
|
473
|
-
WHERE n.nspname
|
|
474
|
-
GROUP BY t.typname
|
|
475
|
-
ORDER BY t.typname
|
|
477
|
+
WHERE ${sql.unsafe(nonSystemSchemaPredicate("n.nspname"))}
|
|
478
|
+
GROUP BY n.nspname, t.typname
|
|
479
|
+
ORDER BY n.nspname, t.typname
|
|
476
480
|
`;
|
|
477
|
-
for (const e of enums)
|
|
478
|
-
|
|
479
|
-
emitStatement(`CREATE TYPE "public"."${e.typname}" AS ENUM (${labels});`);
|
|
480
|
-
}
|
|
481
|
-
if (enums.length > 0)
|
|
482
|
-
emit("");
|
|
481
|
+
for (const e of enums)
|
|
482
|
+
includedSchemas.add(e.schema_name);
|
|
483
483
|
const allSequences = await sql `
|
|
484
484
|
SELECT
|
|
485
485
|
s.sequence_schema,
|
|
@@ -500,14 +500,11 @@ export async function runDatabaseBackup(opts) {
|
|
|
500
500
|
LEFT JOIN pg_class tbl ON tbl.oid = dep.refobjid
|
|
501
501
|
LEFT JOIN pg_namespace tblns ON tblns.oid = tbl.relnamespace
|
|
502
502
|
LEFT JOIN pg_attribute attr ON attr.attrelid = tbl.oid AND attr.attnum = dep.refobjsubid
|
|
503
|
-
WHERE s.sequence_schema
|
|
504
|
-
OR (${includeMigrationJournal}::boolean AND s.sequence_schema = ${DRIZZLE_SCHEMA})
|
|
503
|
+
WHERE ${sql.unsafe(nonSystemSchemaPredicate("s.sequence_schema"))}
|
|
505
504
|
ORDER BY s.sequence_schema, s.sequence_name
|
|
506
505
|
`;
|
|
507
506
|
const sequences = allSequences.filter((seq) => !seq.owner_table || includedTableNames.has(tableKey(seq.owner_schema ?? "public", seq.owner_table)));
|
|
508
|
-
const schemas = new Set();
|
|
509
|
-
for (const table of tables)
|
|
510
|
-
schemas.add(table.schema_name);
|
|
507
|
+
const schemas = new Set(includedSchemas);
|
|
511
508
|
for (const seq of sequences)
|
|
512
509
|
schemas.add(seq.sequence_schema);
|
|
513
510
|
const extraSchemas = [...schemas].filter((schemaName) => schemaName !== "public");
|
|
@@ -518,6 +515,12 @@ export async function runDatabaseBackup(opts) {
|
|
|
518
515
|
}
|
|
519
516
|
emit("");
|
|
520
517
|
}
|
|
518
|
+
for (const e of enums) {
|
|
519
|
+
const labels = e.labels.map((l) => `'${l.replace(/'/g, "''")}'`).join(", ");
|
|
520
|
+
emitStatement(`CREATE TYPE ${quoteQualifiedName(e.schema_name, e.typname)} AS ENUM (${labels});`);
|
|
521
|
+
}
|
|
522
|
+
if (enums.length > 0)
|
|
523
|
+
emit("");
|
|
521
524
|
const extensions = await sql `
|
|
522
525
|
SELECT
|
|
523
526
|
e.extname AS extension_name,
|
|
@@ -547,7 +550,7 @@ export async function runDatabaseBackup(opts) {
|
|
|
547
550
|
for (const { schema_name, tablename } of tables) {
|
|
548
551
|
const qualifiedTableName = quoteQualifiedName(schema_name, tablename);
|
|
549
552
|
const columns = await sql `
|
|
550
|
-
SELECT column_name, data_type, udt_name, is_nullable, column_default,
|
|
553
|
+
SELECT column_name, data_type, udt_schema, udt_name, is_nullable, column_default,
|
|
551
554
|
character_maximum_length, numeric_precision, numeric_scale
|
|
552
555
|
FROM information_schema.columns
|
|
553
556
|
WHERE table_schema = ${schema_name} AND table_name = ${tablename}
|
|
@@ -559,10 +562,13 @@ export async function runDatabaseBackup(opts) {
|
|
|
559
562
|
for (const col of columns) {
|
|
560
563
|
let typeStr;
|
|
561
564
|
if (col.data_type === "USER-DEFINED") {
|
|
562
|
-
typeStr =
|
|
565
|
+
typeStr = quoteQualifiedName(col.udt_schema, col.udt_name);
|
|
563
566
|
}
|
|
564
567
|
else if (col.data_type === "ARRAY") {
|
|
565
|
-
|
|
568
|
+
const elementType = col.udt_name.replace(/^_/, "");
|
|
569
|
+
typeStr = col.udt_schema === "pg_catalog"
|
|
570
|
+
? `${elementType}[]`
|
|
571
|
+
: `${quoteQualifiedName(col.udt_schema, elementType)}[]`;
|
|
566
572
|
}
|
|
567
573
|
else if (col.data_type === "character varying") {
|
|
568
574
|
typeStr = col.character_maximum_length
|
|
@@ -633,10 +639,8 @@ export async function runDatabaseBackup(opts) {
|
|
|
633
639
|
JOIN pg_namespace tgtn ON tgtn.oid = tgt.relnamespace
|
|
634
640
|
JOIN pg_attribute sa ON sa.attrelid = src.oid AND sa.attnum = ANY(c.conkey)
|
|
635
641
|
JOIN pg_attribute ta ON ta.attrelid = tgt.oid AND ta.attnum = ANY(c.confkey)
|
|
636
|
-
WHERE c.contype = 'f'
|
|
637
|
-
srcn.nspname
|
|
638
|
-
OR (${includeMigrationJournal}::boolean AND srcn.nspname = ${DRIZZLE_SCHEMA})
|
|
639
|
-
)
|
|
642
|
+
WHERE c.contype = 'f'
|
|
643
|
+
AND ${sql.unsafe(nonSystemSchemaPredicate("srcn.nspname"))}
|
|
640
644
|
GROUP BY c.conname, srcn.nspname, src.relname, tgtn.nspname, tgt.relname, c.confupdtype, c.confdeltype
|
|
641
645
|
ORDER BY srcn.nspname, src.relname, c.conname
|
|
642
646
|
`;
|
|
@@ -661,10 +665,8 @@ export async function runDatabaseBackup(opts) {
|
|
|
661
665
|
JOIN pg_class t ON t.oid = c.conrelid
|
|
662
666
|
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
663
667
|
JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)
|
|
664
|
-
WHERE c.contype = 'u'
|
|
665
|
-
n.nspname
|
|
666
|
-
OR (${includeMigrationJournal}::boolean AND n.nspname = ${DRIZZLE_SCHEMA})
|
|
667
|
-
)
|
|
668
|
+
WHERE c.contype = 'u'
|
|
669
|
+
AND ${sql.unsafe(nonSystemSchemaPredicate("n.nspname"))}
|
|
668
670
|
GROUP BY c.conname, n.nspname, t.relname
|
|
669
671
|
ORDER BY n.nspname, t.relname, c.conname
|
|
670
672
|
`;
|
|
@@ -681,10 +683,7 @@ export async function runDatabaseBackup(opts) {
|
|
|
681
683
|
const allIndexes = await sql `
|
|
682
684
|
SELECT schemaname AS schema_name, tablename, indexdef
|
|
683
685
|
FROM pg_indexes
|
|
684
|
-
WHERE (
|
|
685
|
-
schemaname = 'public'
|
|
686
|
-
OR (${includeMigrationJournal}::boolean AND schemaname = ${DRIZZLE_SCHEMA})
|
|
687
|
-
)
|
|
686
|
+
WHERE ${sql.unsafe(nonSystemSchemaPredicate("schemaname"))}
|
|
688
687
|
AND indexname NOT IN (
|
|
689
688
|
SELECT conname FROM pg_constraint c
|
|
690
689
|
JOIN pg_namespace n ON n.oid = c.connamespace
|
|
@@ -702,9 +701,10 @@ export async function runDatabaseBackup(opts) {
|
|
|
702
701
|
}
|
|
703
702
|
// Dump data for each table
|
|
704
703
|
for (const { schema_name, tablename } of tables) {
|
|
704
|
+
const currentTableKey = tableKey(schema_name, tablename);
|
|
705
705
|
const qualifiedTableName = quoteQualifiedName(schema_name, tablename);
|
|
706
706
|
const count = await sql.unsafe(`SELECT count(*)::int AS n FROM ${qualifiedTableName}`);
|
|
707
|
-
if (excludedTableNames.has(
|
|
707
|
+
if (excludedTableNames.has(currentTableKey) || (count[0]?.n ?? 0) === 0)
|
|
708
708
|
continue;
|
|
709
709
|
// Get column info for this table
|
|
710
710
|
const cols = await sql `
|
|
@@ -715,7 +715,7 @@ export async function runDatabaseBackup(opts) {
|
|
|
715
715
|
`;
|
|
716
716
|
const colNames = cols.map((c) => `"${c.column_name}"`).join(", ");
|
|
717
717
|
emit(`-- Data for: ${schema_name}.${tablename} (${count[0].n} rows)`);
|
|
718
|
-
const nullifiedColumns = nullifiedColumnsByTable.get(
|
|
718
|
+
const nullifiedColumns = nullifiedColumnsByTable.get(currentTableKey) ?? new Set();
|
|
719
719
|
if (backupEngine !== "javascript" && nullifiedColumns.size === 0) {
|
|
720
720
|
emit(`COPY ${qualifiedTableName} (${colNames}) FROM stdin;`);
|
|
721
721
|
await writer.writeRaw("\n");
|
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/backup-lib.test.js
CHANGED
|
@@ -146,7 +146,117 @@ describeEmbeddedPostgres("runDatabaseBackup", () => {
|
|
|
146
146
|
await restoreSql.end();
|
|
147
147
|
}
|
|
148
148
|
}, 60_000);
|
|
149
|
-
it("
|
|
149
|
+
it("backs up and restores non-public database schemas and migration history", async () => {
|
|
150
|
+
const sourceConnectionString = await createTempDatabase();
|
|
151
|
+
const restoreConnectionString = await createSiblingDatabase(sourceConnectionString, "paperclip_full_logical_restore_target");
|
|
152
|
+
const backupDir = createTempDir("paperclip-db-full-logical-backup-");
|
|
153
|
+
const sourceSql = postgres(sourceConnectionString, { max: 1, onnotice: () => { } });
|
|
154
|
+
const restoreSql = postgres(restoreConnectionString, { max: 1, onnotice: () => { } });
|
|
155
|
+
try {
|
|
156
|
+
await sourceSql.unsafe(`
|
|
157
|
+
CREATE SCHEMA IF NOT EXISTS "drizzle";
|
|
158
|
+
CREATE TABLE IF NOT EXISTS "drizzle"."__drizzle_migrations" (
|
|
159
|
+
"id" serial PRIMARY KEY,
|
|
160
|
+
"hash" text NOT NULL,
|
|
161
|
+
"created_at" bigint
|
|
162
|
+
);
|
|
163
|
+
INSERT INTO "drizzle"."__drizzle_migrations" ("hash", "created_at")
|
|
164
|
+
VALUES ('paperclip-migration-history', 1770000000000);
|
|
165
|
+
`);
|
|
166
|
+
await sourceSql.unsafe(`
|
|
167
|
+
CREATE TABLE "public"."backup_parent_records" (
|
|
168
|
+
"id" uuid PRIMARY KEY,
|
|
169
|
+
"name" text NOT NULL
|
|
170
|
+
);
|
|
171
|
+
INSERT INTO "public"."backup_parent_records" ("id", "name")
|
|
172
|
+
VALUES ('11111111-1111-4111-8111-111111111111', 'parent');
|
|
173
|
+
`);
|
|
174
|
+
await sourceSql.unsafe(`
|
|
175
|
+
CREATE TABLE "public"."plugin_rows" (
|
|
176
|
+
"id" serial PRIMARY KEY,
|
|
177
|
+
"note" text NOT NULL
|
|
178
|
+
);
|
|
179
|
+
CREATE TABLE "public"."audit_rows" (
|
|
180
|
+
"id" serial PRIMARY KEY,
|
|
181
|
+
"secret_note" text
|
|
182
|
+
);
|
|
183
|
+
INSERT INTO "public"."plugin_rows" ("note")
|
|
184
|
+
VALUES ('public-collision');
|
|
185
|
+
INSERT INTO "public"."audit_rows" ("secret_note")
|
|
186
|
+
VALUES ('public-secret');
|
|
187
|
+
`);
|
|
188
|
+
await sourceSql.unsafe(`
|
|
189
|
+
CREATE SCHEMA "plugin_backup_scope";
|
|
190
|
+
CREATE TYPE "plugin_backup_scope"."plugin_status" AS ENUM ('ready', 'done');
|
|
191
|
+
CREATE TABLE "plugin_backup_scope"."plugin_rows" (
|
|
192
|
+
"id" serial PRIMARY KEY,
|
|
193
|
+
"parent_id" uuid NOT NULL REFERENCES "public"."backup_parent_records"("id") ON DELETE CASCADE,
|
|
194
|
+
"status" "plugin_backup_scope"."plugin_status" NOT NULL,
|
|
195
|
+
"note" text NOT NULL
|
|
196
|
+
);
|
|
197
|
+
CREATE TABLE "plugin_backup_scope"."audit_rows" (
|
|
198
|
+
"id" serial PRIMARY KEY,
|
|
199
|
+
"secret_note" text
|
|
200
|
+
);
|
|
201
|
+
CREATE UNIQUE INDEX "plugin_rows_note_uq" ON "plugin_backup_scope"."plugin_rows" ("note");
|
|
202
|
+
INSERT INTO "plugin_backup_scope"."plugin_rows" ("parent_id", "status", "note")
|
|
203
|
+
VALUES ('11111111-1111-4111-8111-111111111111', 'ready', 'first');
|
|
204
|
+
INSERT INTO "plugin_backup_scope"."audit_rows" ("secret_note")
|
|
205
|
+
VALUES ('plugin-secret');
|
|
206
|
+
`);
|
|
207
|
+
const result = await runDatabaseBackup({
|
|
208
|
+
connectionString: sourceConnectionString,
|
|
209
|
+
backupDir,
|
|
210
|
+
retention: { dailyDays: 7, weeklyWeeks: 4, monthlyMonths: 1 },
|
|
211
|
+
filenamePrefix: "paperclip-full-logical-test",
|
|
212
|
+
backupEngine: "javascript",
|
|
213
|
+
excludeTables: ["plugin_rows"],
|
|
214
|
+
nullifyColumns: {
|
|
215
|
+
audit_rows: ["secret_note"],
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
await runDatabaseRestore({
|
|
219
|
+
connectionString: restoreConnectionString,
|
|
220
|
+
backupFile: result.backupFile,
|
|
221
|
+
});
|
|
222
|
+
const migrationRows = await restoreSql.unsafe(`
|
|
223
|
+
SELECT "hash"
|
|
224
|
+
FROM "drizzle"."__drizzle_migrations"
|
|
225
|
+
WHERE "hash" = 'paperclip-migration-history'
|
|
226
|
+
`);
|
|
227
|
+
expect(migrationRows).toEqual([{ hash: "paperclip-migration-history" }]);
|
|
228
|
+
const pluginRows = await restoreSql.unsafe(`
|
|
229
|
+
SELECT r."note", r."status"::text AS "status", p."name" AS "parent_name"
|
|
230
|
+
FROM "plugin_backup_scope"."plugin_rows" r
|
|
231
|
+
JOIN "public"."backup_parent_records" p ON p."id" = r."parent_id"
|
|
232
|
+
`);
|
|
233
|
+
expect(pluginRows).toEqual([{ note: "first", status: "ready", parent_name: "parent" }]);
|
|
234
|
+
const publicCollisionRows = await restoreSql.unsafe(`
|
|
235
|
+
SELECT count(*)::int AS count
|
|
236
|
+
FROM "public"."plugin_rows"
|
|
237
|
+
`);
|
|
238
|
+
expect(publicCollisionRows[0]?.count).toBe(0);
|
|
239
|
+
const publicAuditRows = await restoreSql.unsafe(`
|
|
240
|
+
SELECT "secret_note"
|
|
241
|
+
FROM "public"."audit_rows"
|
|
242
|
+
`);
|
|
243
|
+
expect(publicAuditRows).toEqual([{ secret_note: null }]);
|
|
244
|
+
const pluginAuditRows = await restoreSql.unsafe(`
|
|
245
|
+
SELECT "secret_note"
|
|
246
|
+
FROM "plugin_backup_scope"."audit_rows"
|
|
247
|
+
`);
|
|
248
|
+
expect(pluginAuditRows).toEqual([{ secret_note: "plugin-secret" }]);
|
|
249
|
+
await expect(restoreSql.unsafe(`
|
|
250
|
+
INSERT INTO "plugin_backup_scope"."plugin_rows" ("parent_id", "status", "note")
|
|
251
|
+
VALUES ('11111111-1111-4111-8111-111111111111', 'done', 'first')
|
|
252
|
+
`)).rejects.toThrow();
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
await sourceSql.end();
|
|
256
|
+
await restoreSql.end();
|
|
257
|
+
}
|
|
258
|
+
}, 60_000);
|
|
259
|
+
it("restores legacy public-only backups without migration history", async () => {
|
|
150
260
|
const restoreConnectionString = await createTempDatabase();
|
|
151
261
|
const restoreSql = postgres(restoreConnectionString, { max: 1, onnotice: () => { } });
|
|
152
262
|
const backupDir = createTempDir("paperclip-db-restore-manual-");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup-lib.test.js","sourceRoot":"","sources":["../src/backup-lib.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"backup-lib.test.js","sourceRoot":"","sources":["../src/backup-lib.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "companies" ALTER COLUMN "require_board_approval_for_new_agents" SET DEFAULT false;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "issues_active_stranded_issue_recovery_uq"
|
|
2
|
+
ON "issues" USING btree ("company_id","origin_kind","origin_id")
|
|
3
|
+
WHERE "origin_kind" = 'stranded_issue_recovery'
|
|
4
|
+
AND "origin_id" IS NOT NULL
|
|
5
|
+
AND "hidden_at" IS NULL
|
|
6
|
+
AND "status" NOT IN ('done', 'cancelled');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "companies" ADD COLUMN "attachment_max_bytes" integer DEFAULT 10485760 NOT NULL;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
CREATE UNIQUE INDEX "issues_active_productivity_review_uq" ON "issues" USING btree ("company_id","origin_kind","origin_id") WHERE "issues"."origin_kind" = 'issue_productivity_review'
|
|
2
|
+
and "issues"."origin_id" is not null
|
|
3
|
+
and "issues"."hidden_at" is null
|
|
4
|
+
and "issues"."status" not in ('done', 'cancelled');
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_next_check_at" timestamp with time zone;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_wake_requested_at" timestamp with time zone;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_last_triggered_at" timestamp with time zone;--> statement-breakpoint
|
|
4
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_attempt_count" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
|
|
5
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_notes" text;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_scheduled_by" text;--> statement-breakpoint
|
|
7
|
+
CREATE INDEX IF NOT EXISTS "issues_company_monitor_due_idx" ON "issues" USING btree ("company_id","monitor_next_check_at");
|