diff --git a/packages/cli/package-lock.json b/packages/cli/package-lock.json index 85db634..cdf7866 100644 --- a/packages/cli/package-lock.json +++ b/packages/cli/package-lock.json @@ -1,16 +1,16 @@ { "name": "@akal/supaforge", - "version": "0.0.38", + "version": "0.0.39", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@akal/supaforge", - "version": "0.0.38", + "version": "0.0.39", "license": "MIT", "dependencies": { - "@akal/pg-conformance": "~0.0.16", - "@dbdiff/cli": "3.0.0-rc.31", + "@akal/pg-conformance": "~0.0.17", + "@dbdiff/cli": "3.0.0-rc.32", "@modelcontextprotocol/sdk": "^1.32.1", "@oclif/core": "^4", "@supabase/supabase-js": "^2.103.0", @@ -34,18 +34,18 @@ } }, "node_modules/@akal/pg-conformance": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@akal/pg-conformance/-/pg-conformance-0.0.16.tgz", - "integrity": "sha512-H1LveBa8UTZj7TYXnS+G48DgYwbCvyxLufwpBDNLyusdstBSfZi3EIDsgnBy55bfYWlZWSLJjOjCEkmh1lDYnQ==", + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@akal/pg-conformance/-/pg-conformance-0.0.17.tgz", + "integrity": "sha512-wl/3kkfcxGK6LNOF5y6jcvOyeTvFxMqwMVP3Y8y9w00IEJ0bftPO1dBZ5kiGrFZzRjgzCacUvyjqmGULAeUXZg==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@dbdiff/cli": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli/-/cli-3.0.0-rc.31.tgz", - "integrity": "sha512-DMc5kXN+zmagfJZXGiqTosVCBKYGjFWvRKhyCnM66flz4/KMqqD1FT5TQmTpL6p63cCfkw2JEbS2mcOanIEQew==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli/-/cli-3.0.0-rc.32.tgz", + "integrity": "sha512-Ibi3IOjxKhUzu+zHL2sCwN/LqC+XFcD1ifPyUywZC0ZiMkdLqHEuHM/oWyJBsJl3LS7XKzC07yk2DiVFCsWDOA==", "license": "MIT", "bin": { "dbdiff": "bin/dbdiff.js" @@ -54,20 +54,20 @@ "node": ">=18.0.0" }, "optionalDependencies": { - "@dbdiff/cli-darwin-arm64": "3.0.0-rc.31", - "@dbdiff/cli-darwin-x64": "3.0.0-rc.31", - "@dbdiff/cli-linux-arm64": "3.0.0-rc.31", - "@dbdiff/cli-linux-arm64-musl": "3.0.0-rc.31", - "@dbdiff/cli-linux-x64": "3.0.0-rc.31", - "@dbdiff/cli-linux-x64-musl": "3.0.0-rc.31", - "@dbdiff/cli-win32-arm64": "3.0.0-rc.31", - "@dbdiff/cli-win32-x64": "3.0.0-rc.31" + "@dbdiff/cli-darwin-arm64": "3.0.0-rc.32", + "@dbdiff/cli-darwin-x64": "3.0.0-rc.32", + "@dbdiff/cli-linux-arm64": "3.0.0-rc.32", + "@dbdiff/cli-linux-arm64-musl": "3.0.0-rc.32", + "@dbdiff/cli-linux-x64": "3.0.0-rc.32", + "@dbdiff/cli-linux-x64-musl": "3.0.0-rc.32", + "@dbdiff/cli-win32-arm64": "3.0.0-rc.32", + "@dbdiff/cli-win32-x64": "3.0.0-rc.32" } }, "node_modules/@dbdiff/cli-darwin-arm64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-darwin-arm64/-/cli-darwin-arm64-3.0.0-rc.31.tgz", - "integrity": "sha512-zCfFS9TEFlNgdf4iaKjC4wHmjbkMtfu9QCM6PJOK5fLgquuhzV6E4U+Jq/wDlPP072P9teRm7FMsUmXop4KBBA==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-darwin-arm64/-/cli-darwin-arm64-3.0.0-rc.32.tgz", + "integrity": "sha512-AY8amCrsiRmsK8B/feAAwC/O3ovKOuGFPcqms4CO1uGV3xHvOg5arYKM2avGsRX/GVJNx0tlrR0xtrqK25NJYg==", "cpu": [ "arm64" ], @@ -78,9 +78,9 @@ ] }, "node_modules/@dbdiff/cli-darwin-x64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-darwin-x64/-/cli-darwin-x64-3.0.0-rc.31.tgz", - "integrity": "sha512-4HWS5vh0ZTwvREp74hjBArVhw0wd2KJXOb0jpbnzYhvTb8eoRCP9lPYFeI/6t+9JwkdBlnuva9RrUyQr1dME3g==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-darwin-x64/-/cli-darwin-x64-3.0.0-rc.32.tgz", + "integrity": "sha512-eomTMyqWugklARlESyULmRF0UcbTvsjsG9aj5crIypzred2o26aVzheJS+/m0Oe4dNxZ4G7tUPecXVJYnxKMSw==", "cpu": [ "x64" ], @@ -91,9 +91,9 @@ ] }, "node_modules/@dbdiff/cli-linux-arm64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-arm64/-/cli-linux-arm64-3.0.0-rc.31.tgz", - "integrity": "sha512-q5C3APQ+uVItWtrtexRJnJop1pinVQdciPv7iA0fC+Cpgkiy22ASWu0UgKLKh9lmdJpbycB7dwdgVRLBDuWLPw==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-arm64/-/cli-linux-arm64-3.0.0-rc.32.tgz", + "integrity": "sha512-5tj5zwjCdu4pftfWLxcsJKr8sAFcCkpTIpuRsSBjx0W1k8QsgwK/b2Fkl7BdCqwM0C7GQAXJnAfrUDI6Iw97nQ==", "cpu": [ "arm64" ], @@ -107,9 +107,9 @@ ] }, "node_modules/@dbdiff/cli-linux-arm64-musl": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-arm64-musl/-/cli-linux-arm64-musl-3.0.0-rc.31.tgz", - "integrity": "sha512-Vm/sIgRDM4DSS0NOIyqWkl/Hi3Zh0mIWPieoqTBHWMiGHTcGTTJ0pAUY6d047sOl35whbAW2wk3fu+0fVbqayA==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-arm64-musl/-/cli-linux-arm64-musl-3.0.0-rc.32.tgz", + "integrity": "sha512-BGwJdbWhBOWedRJKfshvIfhOv7xKIN+/f9wEIKDS5KdZ/BcqM9NeARDJsnYPj0W2UC5ixEYl8dbpwkjF+9fsXQ==", "cpu": [ "arm64" ], @@ -123,9 +123,9 @@ ] }, "node_modules/@dbdiff/cli-linux-x64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-x64/-/cli-linux-x64-3.0.0-rc.31.tgz", - "integrity": "sha512-Vk3z9hYAwx0QjXAbDl3pnfcvIEWLIuY1bsPcnEFcbQHd3qW56yI+Exg3/wBbka5D1lOUsi1qY0mayLDVOSXnqQ==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-x64/-/cli-linux-x64-3.0.0-rc.32.tgz", + "integrity": "sha512-mJJrn0/MEt1d7j0Cbr+SY/zVjCjIrfrZQ4OUHto6XjGH9fRdUhSoC3nt3+99TWrxvAo0jMh261jWuCtok2hRaA==", "cpu": [ "x64" ], @@ -139,9 +139,9 @@ ] }, "node_modules/@dbdiff/cli-linux-x64-musl": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-x64-musl/-/cli-linux-x64-musl-3.0.0-rc.31.tgz", - "integrity": "sha512-oTnMfB7WrFWgCaHGvm9SFkTGPOZEdeETS++Zs3J5W/L5OOQbwRMHD14oTEBnr7Kc78/E7fq+/0p+tB9GDoj5Mw==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-linux-x64-musl/-/cli-linux-x64-musl-3.0.0-rc.32.tgz", + "integrity": "sha512-qM/OyRnJZV+0asF1a6VysyCaHBmWmoPSjZ2jupn2/ZXIwoJwDuOEhJryp1lTgbCCSfKxTta4JbS3eHjIdoA5fw==", "cpu": [ "x64" ], @@ -155,9 +155,9 @@ ] }, "node_modules/@dbdiff/cli-win32-arm64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-win32-arm64/-/cli-win32-arm64-3.0.0-rc.31.tgz", - "integrity": "sha512-oH4aoUA30cr5dM5DdXNTDADc7Zks76ppMV7Xdtbv0CT9NDALOrchacLyQpzfeUcCQiHG3u3nvD7016vcxDVxEQ==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-win32-arm64/-/cli-win32-arm64-3.0.0-rc.32.tgz", + "integrity": "sha512-L18dlqvjJtptEAZB/4sSHRuXJYf219CSmdeIN4ZxontJPUP2Jh6MYaI1hGsl+yNJEuEm7fVpdM4XfYFyt+6svA==", "cpu": [ "arm64" ], @@ -168,9 +168,9 @@ ] }, "node_modules/@dbdiff/cli-win32-x64": { - "version": "3.0.0-rc.31", - "resolved": "https://registry.npmjs.org/@dbdiff/cli-win32-x64/-/cli-win32-x64-3.0.0-rc.31.tgz", - "integrity": "sha512-j7iuSD2eUb+rCFb1NGQLxvYztW4UnoVKS0sFzZ1/NnYJbn8hSxvf1sYMYc/W9YImurwsY9beRBjhcR+ljYK4Fg==", + "version": "3.0.0-rc.32", + "resolved": "https://registry.npmjs.org/@dbdiff/cli-win32-x64/-/cli-win32-x64-3.0.0-rc.32.tgz", + "integrity": "sha512-YfyeprNi4hgrR9reZfPOCb8rUOvkxe6W3MlvJg1eW/ehB2Yu4QORBlJ98M4DFLH4F5fRwnC7jNYnN5/cveVV0g==", "cpu": [ "x64" ], diff --git a/packages/cli/package.json b/packages/cli/package.json index ced4bc6..4691fdd 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -55,8 +55,8 @@ "topicSeparator": " " }, "dependencies": { - "@akal/pg-conformance": "~0.0.16", - "@dbdiff/cli": "3.0.0-rc.31", + "@akal/pg-conformance": "~0.0.17", + "@dbdiff/cli": "3.0.0-rc.32", "@modelcontextprotocol/sdk": "^1.32.1", "@oclif/core": "^4", "@supabase/supabase-js": "^2.103.0", diff --git a/packages/cli/test/real-world/known-gaps.json b/packages/cli/test/real-world/known-gaps.json index 10bb5ef..7382c43 100644 --- a/packages/cli/test/real-world/known-gaps.json +++ b/packages/cli/test/real-world/known-gaps.json @@ -1,20 +1,9 @@ { + "adventureworks pg17>pg18 drift": "--prove refuses the drift: on PostgreSQL 18 a renamed table keeps NOT NULL constraint names from its old name, while the proof's fresh copy of the PostgreSQL 17 source names them after the new one", + "adventureworks pg17>pg18 drift-prove": "as drift", + "adventureworks pg17>sb15 sync": "Supabase installs uuid-ossp in its extensions schema; the source has it in public, so the extension and every default calling uuid_generate_v1() read as changed", + "chinook pg17>sb15 sync": "Supabase's own extensions (pg_graphql, supabase_vault, …) and its supabase_realtime publication read as extra on a Supabase target synced from plain PostgreSQL, with no fix — a re-scan can never be clean", + "gitlab pg17>pg17 sync": "DBDiff: the built-in renderer (always used for partitioned tables) writes a column owning a sequence with its own options or name as bigserial, and partitions' indexes take generated names and lose their storage options", "pagila pv18>pv18 clone": "clone copies with --no-acl, so the source's GRANT ALL ON SCHEMA public TO PUBLIC is not carried", - "pagila pv18>pv18 sync": "DBDiff#285: vector(1536) written without its dimension; the HNSW index then fails", - "pagila pv18>pv18 drift": "DBDiff#285: a column added to a partitioned table is also added to every partition", - "pagila pv18>pv18 drift-prove": "DBDiff#285: as drift", - "adventureworks pg17>pg17 sync": "DBDiff#285: domains such as \"Name\" written unquoted", - "adventureworks pg17>pg17 drift": "DBDiff#285: a domain gaining a NOT VALID check is dropped and recreated", - "adventureworks pg17>pg17 drift-prove": "DBDiff#285: as drift", - "adventureworks pg17>pg18 sync": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>pg18 drift": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>pg18 drift-prove": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>pg15 sync": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>pg15 drift": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>pg15 drift-prove": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>sb15 sync": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>sb15 drift": "DBDiff#285: as pg17>pg17", - "adventureworks pg17>sb15 drift-prove": "DBDiff#285: as pg17>pg17", - "gitlab pg17>pg17 sync": "DBDiff#285: partitions in another schema than their parent, and a partitioned table's own sequence", - "chinook pg17>sb15 sync": "Supabase's own extensions (pg_graphql, supabase_vault, …) and its supabase_realtime publication read as extra on a Supabase target synced from plain PostgreSQL, with no fix — a re-scan can never be clean" + "pagila pv18>pv18 sync": "DBDiff: on PostgreSQL 18 a partition created with PARTITION OF takes its parent's NOT NULL constraint names, while the source's attached partitions carry their own" } diff --git a/packages/mcp/package-lock.json b/packages/mcp/package-lock.json index c83b72f..f8dec10 100644 --- a/packages/mcp/package-lock.json +++ b/packages/mcp/package-lock.json @@ -31,8 +31,8 @@ "version": "0.0.38", "license": "MIT", "dependencies": { - "@akal/pg-conformance": "~0.0.16", - "@dbdiff/cli": "3.0.0-rc.31", + "@akal/pg-conformance": "~0.0.17", + "@dbdiff/cli": "3.0.0-rc.32", "@modelcontextprotocol/sdk": "^1.32.1", "@oclif/core": "^4", "@supabase/supabase-js": "^2.103.0",