(options: SetupParams, databaseName: string)
| 26 | } |
| 27 | |
| 28 | export async function setupMSSQL(options: SetupParams, databaseName: string): Promise<void> { |
| 29 | const { connectionString } = options |
| 30 | const { dirname } = options |
| 31 | const config = getMSSQLConfig(connectionString) |
| 32 | const connectionPool = new mssql.ConnectionPool(config) |
| 33 | const connection = await connectionPool.connect() |
| 34 | |
| 35 | try { |
| 36 | await connection.query(` |
| 37 | CREATE DATABASE [${databaseName}-shadowdb] |
| 38 | CREATE DATABASE [${databaseName}] |
| 39 | `) |
| 40 | } catch (e) { |
| 41 | console.warn(e) |
| 42 | } |
| 43 | |
| 44 | if (dirname !== '') { |
| 45 | let schema = `USE [${databaseName}]\n` |
| 46 | schema += fs.readFileSync(path.join(dirname, 'setup.sql'), 'utf-8') |
| 47 | await connection.query(schema) |
| 48 | } |
| 49 | |
| 50 | await connection.close() |
| 51 | } |
| 52 | |
| 53 | export async function tearDownMSSQL(options: SetupParams, databaseName: string) { |
| 54 | const { connectionString } = options |
no test coverage detected