@proofhound/db 0.1.6
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/LICENSE +190 -0
- package/dist/clean-test-residue.d.ts +2 -0
- package/dist/clean-test-residue.d.ts.map +1 -0
- package/dist/clean-test-residue.js +59 -0
- package/dist/clean-test-residue.js.map +1 -0
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +87 -0
- package/dist/client.js.map +1 -0
- package/dist/ensure-e2e-database.d.ts +2 -0
- package/dist/ensure-e2e-database.d.ts.map +1 -0
- package/dist/ensure-e2e-database.js +87 -0
- package/dist/ensure-e2e-database.js.map +1 -0
- package/dist/fixtures/dev/connectors.d.ts +72 -0
- package/dist/fixtures/dev/connectors.d.ts.map +1 -0
- package/dist/fixtures/dev/connectors.js +90 -0
- package/dist/fixtures/dev/connectors.js.map +1 -0
- package/dist/fixtures/dev/experiments.d.ts +48 -0
- package/dist/fixtures/dev/experiments.d.ts.map +1 -0
- package/dist/fixtures/dev/experiments.js +1168 -0
- package/dist/fixtures/dev/experiments.js.map +1 -0
- package/dist/fixtures/dev/models.d.ts +20 -0
- package/dist/fixtures/dev/models.d.ts.map +1 -0
- package/dist/fixtures/dev/models.js +60 -0
- package/dist/fixtures/dev/models.js.map +1 -0
- package/dist/fixtures/dev/optimizations.d.ts +62 -0
- package/dist/fixtures/dev/optimizations.d.ts.map +1 -0
- package/dist/fixtures/dev/optimizations.js +124 -0
- package/dist/fixtures/dev/optimizations.js.map +1 -0
- package/dist/fixtures/dev/prompts.d.ts +31 -0
- package/dist/fixtures/dev/prompts.d.ts.map +1 -0
- package/dist/fixtures/dev/prompts.js +115 -0
- package/dist/fixtures/dev/prompts.js.map +1 -0
- package/dist/fixtures/dev/tokens.d.ts +10 -0
- package/dist/fixtures/dev/tokens.d.ts.map +1 -0
- package/dist/fixtures/dev/tokens.js +28 -0
- package/dist/fixtures/dev/tokens.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/migrate.d.ts +2 -0
- package/dist/migrate.d.ts.map +1 -0
- package/dist/migrate.js +34 -0
- package/dist/migrate.js.map +1 -0
- package/dist/migrations/0000_woozy_thunderbolt.sql +688 -0
- package/dist/migrations/0001_webhook_token_scope.sql +28 -0
- package/dist/migrations/0002_tokens_table_unify_scope.sql +50 -0
- package/dist/migrations/0003_models_auto_concurrency.sql +4 -0
- package/dist/migrations/0004_webhook_token_attribution.sql +4 -0
- package/dist/migrations/0005_same_thor_girl.sql +34 -0
- package/dist/reset.d.ts +2 -0
- package/dist/reset.d.ts.map +1 -0
- package/dist/reset.js +78 -0
- package/dist/reset.js.map +1 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +23 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/ph_assets/index.d.ts +2012 -0
- package/dist/schema/ph_assets/index.d.ts.map +1 -0
- package/dist/schema/ph_assets/index.js +272 -0
- package/dist/schema/ph_assets/index.js.map +1 -0
- package/dist/schema/ph_core/index.d.ts +424 -0
- package/dist/schema/ph_core/index.d.ts.map +1 -0
- package/dist/schema/ph_core/index.js +69 -0
- package/dist/schema/ph_core/index.js.map +1 -0
- package/dist/schema/ph_releases/_schema.d.ts +2 -0
- package/dist/schema/ph_releases/_schema.d.ts.map +1 -0
- package/dist/schema/ph_releases/_schema.js +8 -0
- package/dist/schema/ph_releases/_schema.js.map +1 -0
- package/dist/schema/ph_releases/annotation-tasks.d.ts +263 -0
- package/dist/schema/ph_releases/annotation-tasks.d.ts.map +1 -0
- package/dist/schema/ph_releases/annotation-tasks.js +38 -0
- package/dist/schema/ph_releases/annotation-tasks.js.map +1 -0
- package/dist/schema/ph_releases/canary-releases.d.ts +672 -0
- package/dist/schema/ph_releases/canary-releases.d.ts.map +1 -0
- package/dist/schema/ph_releases/canary-releases.js +91 -0
- package/dist/schema/ph_releases/canary-releases.js.map +1 -0
- package/dist/schema/ph_releases/index.d.ts +6 -0
- package/dist/schema/ph_releases/index.d.ts.map +1 -0
- package/dist/schema/ph_releases/index.js +24 -0
- package/dist/schema/ph_releases/index.js.map +1 -0
- package/dist/schema/ph_releases/production-release-events.d.ts +527 -0
- package/dist/schema/ph_releases/production-release-events.d.ts.map +1 -0
- package/dist/schema/ph_releases/production-release-events.js +86 -0
- package/dist/schema/ph_releases/production-release-events.js.map +1 -0
- package/dist/schema/ph_releases/release-lines.d.ts +1442 -0
- package/dist/schema/ph_releases/release-lines.d.ts.map +1 -0
- package/dist/schema/ph_releases/release-lines.js +203 -0
- package/dist/schema/ph_releases/release-lines.js.map +1 -0
- package/dist/schema/ph_runs/_schema.d.ts +2 -0
- package/dist/schema/ph_runs/_schema.d.ts.map +1 -0
- package/dist/schema/ph_runs/_schema.js +6 -0
- package/dist/schema/ph_runs/_schema.js.map +1 -0
- package/dist/schema/ph_runs/experiments.d.ts +984 -0
- package/dist/schema/ph_runs/experiments.d.ts.map +1 -0
- package/dist/schema/ph_runs/experiments.js +134 -0
- package/dist/schema/ph_runs/experiments.js.map +1 -0
- package/dist/schema/ph_runs/index.d.ts +1027 -0
- package/dist/schema/ph_runs/index.d.ts.map +1 -0
- package/dist/schema/ph_runs/index.js +135 -0
- package/dist/schema/ph_runs/index.js.map +1 -0
- package/dist/seed-dev.d.ts +2 -0
- package/dist/seed-dev.d.ts.map +1 -0
- package/dist/seed-dev.js +605 -0
- package/dist/seed-dev.js.map +1 -0
- package/dist/seed.d.ts +2 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +13 -0
- package/dist/seed.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- Webhook token migration: switch to scope='webhook' + forward link via connector_id
|
|
2
|
+
-- See docs/specs/06-database-schema.md §3.2 / §4.5
|
|
3
|
+
--
|
|
4
|
+
-- Order:
|
|
5
|
+
-- a) Add the connector_id column to api_tokens
|
|
6
|
+
-- b) Backfill api_tokens.connector_id from connectors.webhook_token_id and upgrade scope to 'webhook'
|
|
7
|
+
-- c) Drop the legacy connectors.webhook_token_id FK + column
|
|
8
|
+
-- d) Upgrade api_tokens' scope CHECK and scope_fields CHECK
|
|
9
|
+
-- e) Add the connector_id FK + partial index
|
|
10
|
+
ALTER TABLE "ph_core"."api_tokens" ADD COLUMN "connector_id" uuid;--> statement-breakpoint
|
|
11
|
+
UPDATE "ph_core"."api_tokens" AS t
|
|
12
|
+
SET scope = 'webhook',
|
|
13
|
+
connector_id = c.id
|
|
14
|
+
FROM "ph_assets"."connectors" AS c
|
|
15
|
+
WHERE c.webhook_token_id = t.id
|
|
16
|
+
AND c.deleted_at IS NULL;--> statement-breakpoint
|
|
17
|
+
ALTER TABLE "ph_assets"."connectors" DROP CONSTRAINT IF EXISTS "connectors_webhook_token_id_api_tokens_id_fk";--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "ph_assets"."connectors" DROP COLUMN "webhook_token_id";--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "ph_core"."api_tokens" DROP CONSTRAINT IF EXISTS "api_tokens_scope_check";--> statement-breakpoint
|
|
20
|
+
ALTER TABLE "ph_core"."api_tokens" ADD CONSTRAINT "api_tokens_scope_check" CHECK ("ph_core"."api_tokens"."scope" IN ('project_api', 'global_mcp', 'webhook'));--> statement-breakpoint
|
|
21
|
+
ALTER TABLE "ph_core"."api_tokens" DROP CONSTRAINT IF EXISTS "api_tokens_scope_fields_check";--> statement-breakpoint
|
|
22
|
+
ALTER TABLE "ph_core"."api_tokens" ADD CONSTRAINT "api_tokens_scope_fields_check" CHECK ((
|
|
23
|
+
("ph_core"."api_tokens"."scope" = 'project_api' AND "ph_core"."api_tokens"."project_id" IS NOT NULL AND "ph_core"."api_tokens"."connector_id" IS NULL) OR
|
|
24
|
+
("ph_core"."api_tokens"."scope" = 'global_mcp' AND "ph_core"."api_tokens"."project_id" IS NULL AND "ph_core"."api_tokens"."connector_id" IS NULL) OR
|
|
25
|
+
("ph_core"."api_tokens"."scope" = 'webhook' AND "ph_core"."api_tokens"."project_id" IS NOT NULL AND "ph_core"."api_tokens"."connector_id" IS NOT NULL)
|
|
26
|
+
));--> statement-breakpoint
|
|
27
|
+
ALTER TABLE "ph_core"."api_tokens" ADD CONSTRAINT "api_tokens_connector_id_fkey" FOREIGN KEY ("connector_id") REFERENCES "ph_assets"."connectors"("id") ON DELETE CASCADE;--> statement-breakpoint
|
|
28
|
+
CREATE INDEX "idx_api_tokens_connector" ON "ph_core"."api_tokens" USING btree ("connector_id") WHERE "ph_core"."api_tokens"."scope" = 'webhook' AND "ph_core"."api_tokens"."revoked_at" IS NULL;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
-- 0002 token model refactor: rename api_tokens ā tokens, merge project_api + global_mcp into user, drop the global MCP singleton constraint
|
|
2
|
+
-- See docs/specs/06-database-schema.md §3.2 / docs/specs/08-saas-adapter-boundary.md §3.5
|
|
3
|
+
--
|
|
4
|
+
-- Order:
|
|
5
|
+
-- a) drop constraints / indexes tightly bound to the legacy scope (CHECK, uniq_active_global_mcp_token)
|
|
6
|
+
-- b) data backfill: move project_api / global_mcp rows uniformly to scope='user', set project_id to NULL
|
|
7
|
+
-- c) rename the table + rename the indexes / FKs / unique constraints that still exist
|
|
8
|
+
-- d) rebuild CHECK; the new value set = ('user', 'webhook'); user allows any project_id; webhook unchanged
|
|
9
|
+
--
|
|
10
|
+
-- Not handled in this migration:
|
|
11
|
+
-- - scope='webhook' row constraints / FKs inherit the shape built in 0001; this migration only renames them
|
|
12
|
+
-- - column shapes for token_hash UNIQUE / token_encrypted / prefix remain unchanged
|
|
13
|
+
|
|
14
|
+
-- a) Drop the global-MCP singleton constraint tied to the legacy scope
|
|
15
|
+
DROP INDEX IF EXISTS "ph_core"."uniq_active_global_mcp_token";--> statement-breakpoint
|
|
16
|
+
|
|
17
|
+
-- a) Drop CHECK first (before backfill), to avoid new values failing the old constraint
|
|
18
|
+
ALTER TABLE "ph_core"."api_tokens" DROP CONSTRAINT IF EXISTS "api_tokens_scope_fields_check";--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "ph_core"."api_tokens" DROP CONSTRAINT IF EXISTS "api_tokens_scope_check";--> statement-breakpoint
|
|
20
|
+
|
|
21
|
+
-- b) Data backfill: move project_api / global_mcp uniformly to user; user is not bound to project_id
|
|
22
|
+
UPDATE "ph_core"."api_tokens"
|
|
23
|
+
SET scope = 'user',
|
|
24
|
+
project_id = NULL
|
|
25
|
+
WHERE scope IN ('project_api', 'global_mcp');--> statement-breakpoint
|
|
26
|
+
|
|
27
|
+
-- c) rename table
|
|
28
|
+
ALTER TABLE "ph_core"."api_tokens" RENAME TO "tokens";--> statement-breakpoint
|
|
29
|
+
|
|
30
|
+
-- c) Rename indexes (the partial index WHERE clause is preserved unchanged)
|
|
31
|
+
ALTER INDEX "ph_core"."idx_api_tokens_project" RENAME TO "idx_tokens_project";--> statement-breakpoint
|
|
32
|
+
ALTER INDEX "ph_core"."idx_api_tokens_active" RENAME TO "idx_tokens_active";--> statement-breakpoint
|
|
33
|
+
ALTER INDEX "ph_core"."idx_api_tokens_connector" RENAME TO "idx_tokens_connector";--> statement-breakpoint
|
|
34
|
+
|
|
35
|
+
-- c) Rename FK / unique constraints (referring to 0000 / 0001 drizzle auto-naming)
|
|
36
|
+
ALTER TABLE "ph_core"."tokens" RENAME CONSTRAINT "api_tokens_project_id_projects_id_fk" TO "tokens_project_id_projects_id_fk";--> statement-breakpoint
|
|
37
|
+
ALTER TABLE "ph_core"."tokens" RENAME CONSTRAINT "api_tokens_connector_id_fkey" TO "tokens_connector_id_fkey";--> statement-breakpoint
|
|
38
|
+
ALTER TABLE "ph_core"."tokens" RENAME CONSTRAINT "api_tokens_token_hash_unique" TO "tokens_token_hash_unique";--> statement-breakpoint
|
|
39
|
+
|
|
40
|
+
-- d) Rebuild CHECK: scope ā {user, webhook}
|
|
41
|
+
ALTER TABLE "ph_core"."tokens" ADD CONSTRAINT "tokens_scope_check"
|
|
42
|
+
CHECK ("ph_core"."tokens"."scope" IN ('user', 'webhook'));--> statement-breakpoint
|
|
43
|
+
|
|
44
|
+
-- d) Rebuild scope_fields CHECK:
|
|
45
|
+
-- - user only enforces connector_id IS NULL; project_id can be anything (OSS defaults to NULL; the SaaS form may attach a project)
|
|
46
|
+
-- - webhook keeps the original constraint (project_id + connector_id required)
|
|
47
|
+
ALTER TABLE "ph_core"."tokens" ADD CONSTRAINT "tokens_scope_fields_check" CHECK ((
|
|
48
|
+
("ph_core"."tokens"."scope" = 'user' AND "ph_core"."tokens"."connector_id" IS NULL) OR
|
|
49
|
+
("ph_core"."tokens"."scope" = 'webhook' AND "ph_core"."tokens"."project_id" IS NOT NULL AND "ph_core"."tokens"."connector_id" IS NOT NULL)
|
|
50
|
+
));
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
-- Add auto_concurrency flag to models: when TRUE (default), concurrency_limit is the ceiling and
|
|
2
|
+
-- effective concurrency is auto-tuned by the limiter; when FALSE, concurrency_limit is the hard limit.
|
|
3
|
+
-- See docs/specs/21-models.md §6.1
|
|
4
|
+
ALTER TABLE "ph_assets"."models" ADD COLUMN "auto_concurrency" boolean DEFAULT true NOT NULL;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
ALTER TABLE "ph_runs"."run_results" ADD COLUMN "webhook_token_id" uuid;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "ph_runs"."run_results" ADD CONSTRAINT "run_results_webhook_token_id_tokens_id_fk" FOREIGN KEY ("webhook_token_id") REFERENCES "ph_core"."tokens"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
3
|
+
CREATE INDEX "idx_run_results_webhook_token" ON "ph_runs"."run_results" USING btree ("webhook_token_id","created_at") WHERE "ph_runs"."run_results"."webhook_token_id" IS NOT NULL;--> statement-breakpoint
|
|
4
|
+
ALTER TABLE "ph_core"."tokens" ADD CONSTRAINT "tokens_name_length_check" CHECK (char_length("ph_core"."tokens"."name") <= 64);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
CREATE TABLE "ph_assets"."dataset_import_samples" (
|
|
2
|
+
"import_id" uuid NOT NULL,
|
|
3
|
+
"row_index" integer NOT NULL,
|
|
4
|
+
"data" jsonb NOT NULL,
|
|
5
|
+
"external_id" text,
|
|
6
|
+
CONSTRAINT "dataset_import_samples_import_id_row_index_pk" PRIMARY KEY("import_id","row_index")
|
|
7
|
+
);
|
|
8
|
+
--> statement-breakpoint
|
|
9
|
+
CREATE TABLE "ph_assets"."dataset_imports" (
|
|
10
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
11
|
+
"project_id" uuid NOT NULL,
|
|
12
|
+
"dataset_id" uuid,
|
|
13
|
+
"name" text NOT NULL,
|
|
14
|
+
"description" text,
|
|
15
|
+
"field_mappings" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
16
|
+
"file_name" text NOT NULL,
|
|
17
|
+
"file_size_bytes" bigint NOT NULL,
|
|
18
|
+
"content_type" text,
|
|
19
|
+
"source_format" text NOT NULL,
|
|
20
|
+
"declared_total_rows" integer,
|
|
21
|
+
"received_rows" integer DEFAULT 0 NOT NULL,
|
|
22
|
+
"status" text DEFAULT 'importing' NOT NULL,
|
|
23
|
+
"created_by" uuid NOT NULL,
|
|
24
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
25
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
26
|
+
CONSTRAINT "dataset_imports_source_format_check" CHECK ("ph_assets"."dataset_imports"."source_format" IN ('jsonl', 'csv', 'tsv')),
|
|
27
|
+
CONSTRAINT "dataset_imports_status_check" CHECK ("ph_assets"."dataset_imports"."status" IN ('importing', 'ready'))
|
|
28
|
+
);
|
|
29
|
+
--> statement-breakpoint
|
|
30
|
+
ALTER TABLE "ph_assets"."dataset_import_samples" ADD CONSTRAINT "dataset_import_samples_import_id_dataset_imports_id_fk" FOREIGN KEY ("import_id") REFERENCES "ph_assets"."dataset_imports"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
31
|
+
ALTER TABLE "ph_assets"."dataset_imports" ADD CONSTRAINT "dataset_imports_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "ph_core"."projects"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
32
|
+
ALTER TABLE "ph_assets"."dataset_imports" ADD CONSTRAINT "dataset_imports_dataset_id_datasets_id_fk" FOREIGN KEY ("dataset_id") REFERENCES "ph_assets"."datasets"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
33
|
+
CREATE INDEX "idx_dataset_imports_project_status" ON "ph_assets"."dataset_imports" USING btree ("project_id","status");--> statement-breakpoint
|
|
34
|
+
CREATE INDEX "idx_dataset_imports_stale" ON "ph_assets"."dataset_imports" USING btree ("status","updated_at") WHERE "ph_assets"."dataset_imports"."status" = 'importing';
|
package/dist/reset.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":""}
|
package/dist/reset.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Local reset: DROP all user schemas in the current database.
|
|
5
|
+
*
|
|
6
|
+
* **Local and staging only ā strictly forbidden in production.**
|
|
7
|
+
*
|
|
8
|
+
* Call chain: `pnpm db:reset` = `tsx src/reset.ts && pnpm migrate && pnpm seed`
|
|
9
|
+
* - This script only clears the database; structure rebuild and seed are done by the subsequent commands
|
|
10
|
+
*
|
|
11
|
+
* Safeguards:
|
|
12
|
+
* - By default, DATABASE_URL must point to localhost / 127.0.0.1 / ::1
|
|
13
|
+
* - Remote databases (staging, etc.) must explicitly set ALLOW_DB_RESET=1
|
|
14
|
+
*/
|
|
15
|
+
const node_path_1 = require("node:path");
|
|
16
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
17
|
+
const client_1 = require("./client");
|
|
18
|
+
const LOCAL_HOSTNAMES = new Set(['localhost', '127.0.0.1', '::1']);
|
|
19
|
+
function writeLine(message = '') {
|
|
20
|
+
process.stdout.write(`${message}\n`);
|
|
21
|
+
}
|
|
22
|
+
function unwrapRows(rawRows) {
|
|
23
|
+
return Array.isArray(rawRows) ? rawRows : (rawRows.rows ?? []);
|
|
24
|
+
}
|
|
25
|
+
function isLocalDatabaseUrl(databaseUrl) {
|
|
26
|
+
try {
|
|
27
|
+
const url = new URL(databaseUrl.trim().replace(/^(['"])(.*)\1$/, '$2'));
|
|
28
|
+
return LOCAL_HOSTNAMES.has(url.hostname);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function main() {
|
|
35
|
+
try {
|
|
36
|
+
process.loadEnvFile((0, node_path_1.resolve)(process.cwd(), '../../.env'));
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// CI / other environments that already have env injected
|
|
40
|
+
}
|
|
41
|
+
const databaseUrl = process.env['DATABASE_URL'];
|
|
42
|
+
if (!databaseUrl) {
|
|
43
|
+
console.error('ā DATABASE_URL is not configured');
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
const local = isLocalDatabaseUrl(databaseUrl);
|
|
47
|
+
const allowReset = process.env['ALLOW_DB_RESET'] === '1';
|
|
48
|
+
if (!local && !allowReset) {
|
|
49
|
+
console.error('ā DATABASE_URL points to a remote database; refusing to run reset');
|
|
50
|
+
console.error(' Use localhost for local development; to run against a remote (staging) database, set explicitly:');
|
|
51
|
+
console.error(' ALLOW_DB_RESET=1 pnpm db:reset');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
const db = (0, client_1.createDbClient)(databaseUrl);
|
|
55
|
+
const rawRows = await db.execute((0, drizzle_orm_1.sql) `
|
|
56
|
+
SELECT schema_name
|
|
57
|
+
FROM information_schema.schemata
|
|
58
|
+
WHERE schema_name <> 'information_schema'
|
|
59
|
+
AND schema_name NOT LIKE 'pg_%'
|
|
60
|
+
ORDER BY schema_name
|
|
61
|
+
`);
|
|
62
|
+
const rows = unwrapRows(rawRows);
|
|
63
|
+
writeLine(`š DROP all user schemas (${rows.length})`);
|
|
64
|
+
for (const { schema_name: schemaName } of rows) {
|
|
65
|
+
await db.execute((0, drizzle_orm_1.sql) `DROP SCHEMA IF EXISTS ${drizzle_orm_1.sql.identifier(schemaName)} CASCADE`);
|
|
66
|
+
writeLine(` ā ${schemaName}`);
|
|
67
|
+
}
|
|
68
|
+
await db.execute((0, drizzle_orm_1.sql) `CREATE SCHEMA IF NOT EXISTS "public"`);
|
|
69
|
+
await db.execute((0, drizzle_orm_1.sql) `GRANT USAGE ON SCHEMA "public" TO PUBLIC`);
|
|
70
|
+
writeLine(' ā public (recreated)');
|
|
71
|
+
writeLine('\nā
Reset complete; pnpm migrate + pnpm seed will now rebuild the structure and the default local project');
|
|
72
|
+
process.exit(0);
|
|
73
|
+
}
|
|
74
|
+
main().catch((err) => {
|
|
75
|
+
console.error('ā Reset failed:', err);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Aggregates Drizzle table exports for each schema namespace
|
|
18
|
+
// Actual table definitions live in the corresponding subdirectory per docs/specs/06-database-schema.md
|
|
19
|
+
__exportStar(require("./ph_core/index"), exports);
|
|
20
|
+
__exportStar(require("./ph_assets/index"), exports);
|
|
21
|
+
__exportStar(require("./ph_runs/index"), exports);
|
|
22
|
+
__exportStar(require("./ph_releases/index"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,uGAAuG;AACvG,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,sDAAoC"}
|