From 4a4f468a022f1fccf8eeca6d559b402d49931f69 Mon Sep 17 00:00:00 2001 From: Miguel Fernandez Date: Mon, 6 Nov 2023 17:21:16 +0100 Subject: [PATCH] make a use query after receiving the initialize schema in planetscale --- .../connector-test-kit-executor/src/index.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/query-engine/driver-adapters/connector-test-kit-executor/src/index.ts b/query-engine/driver-adapters/connector-test-kit-executor/src/index.ts index b89348fb3e77..e95fc1fd5a6e 100644 --- a/query-engine/driver-adapters/connector-test-kit-executor/src/index.ts +++ b/query-engine/driver-adapters/connector-test-kit-executor/src/index.ts @@ -97,6 +97,8 @@ async function handleRequest(method: string, params: unknown): Promise }); await engine.connect("") + await useSchema(engine, castParams.url) + state[castParams.schemaId] = { engine, adapter, @@ -222,6 +224,20 @@ async function initQe(url: string, prismaSchema: string, logCallback: qe.QueryLo return [engineInstance, errorCapturingAdapter]; } +async function useSchema(engine: engines.QueryEngineInstance, url: string): Promise { + if (process.env.DRIVER_ADAPTER == 'planetscale') { + const databaseName = new URL(url).pathname.replace("/", ""); + console.error("---- Changing database used by proxy to the one specified in the URL: "+databaseName) + let request = { + method: 'executeRaw', + params: { + query: 'USE ' + databaseName + ';', + } + }; + await engine.query(JSON.stringify(request), "", "") + } +} + async function adapterFromEnv(url: string): Promise { const adapter = process.env.DRIVER_ADAPTER ?? ''