MCPcopy
hub / github.com/prisma/prisma / setupCockroach

Function setupCockroach

packages/migrate/src/utils/setupCockroach.ts:6–31  ·  view source on GitHub ↗
(options: { connectionString: string; dirname: string })

Source from the content-addressed store, hash-verified

4import { Client } from 'pg'
5
6export async function setupCockroach(options: { connectionString: string; dirname: string }): Promise<void> {
7 const { connectionString } = options
8 const { dirname } = options
9 const credentials = uriToCredentials(connectionString)
10
11 // Connect to default db
12 const dbDefault = new Client({
13 connectionString: connectionString.replace(credentials.database!, 'cockroachdb'),
14 })
15 await dbDefault.connect()
16 await dbDefault.query(`DROP DATABASE IF EXISTS "${credentials.database}-shadowdb";`)
17 await dbDefault.query(`CREATE DATABASE "${credentials.database}-shadowdb";`)
18 await dbDefault.query(`DROP DATABASE IF EXISTS "${credentials.database}";`)
19 await dbDefault.query(`CREATE DATABASE "${credentials.database}";`)
20 await dbDefault.end()
21
22 if (dirname !== '') {
23 // Connect to final db and populate
24 const db = new Client({
25 connectionString,
26 })
27 await db.connect()
28 await db.query(fs.readFileSync(path.join(dirname, 'setup.sql'), 'utf-8'))
29 await db.end()
30 }
31}
32
33export async function tearDownCockroach(options: { connectionString: string }) {
34 const { connectionString } = options

Callers 4

MigrateDev.test.tsFile · 0.90
DbExecute.test.tsFile · 0.90

Calls 4

uriToCredentialsFunction · 0.90
endMethod · 0.80
connectMethod · 0.65
queryMethod · 0.45

Tested by

no test coverage detected