@@ -259,7 +259,7 @@ const handleCreate = async (event: CreateEvent): Promise<Response> => {
259
259
onCreateIfExists : event . ResourceProperties . onCreateIfExists ,
260
260
} ) ;
261
261
262
- const createUserQuery = `CREATE USER ${ userCredentials . username } IDENTIFIED BY '${ userCredentials . password } '; GRANT ALL PRIVILEGES ON ${ event . ResourceProperties . databaseName } .* TO ${ userCredentials . username } @'%';` ;
262
+ const createUserQuery = `CREATE USER ' ${ userCredentials . username } ' IDENTIFIED BY '${ userCredentials . password } '; GRANT ALL PRIVILEGES ON \` ${ event . ResourceProperties . databaseName } \` .* TO ' ${ userCredentials . username } ' @'%';` ;
263
263
264
264
try {
265
265
await adminClient . query ( createUserQuery ) ;
@@ -270,17 +270,17 @@ const handleCreate = async (event: CreateEvent): Promise<Response> => {
270
270
271
271
if ( event . ResourceProperties . onCreateIfExists === 'Adopt' && e . code === MysqlErrorCodes . DUPLICATE_OBJECT ) {
272
272
// User already exists, so we'll just adopt it. Set the password to the new value and grant CREATEDB and LOGIN
273
- await adminClient . query ( `ALTER USER ${ userCredentials . username } WITH PASSWORD '${ userCredentials . password } ';` ) ;
274
- await adminClient . query ( `GRANT ALL PRIVILEGES ON ${ event . ResourceProperties . databaseName } .* TO ${ userCredentials . username } @'%';` ) ;
273
+ await adminClient . query ( `ALTER USER ' ${ userCredentials . username } ' WITH PASSWORD '${ userCredentials . password } ';` ) ;
274
+ await adminClient . query ( `GRANT ALL PRIVILEGES ON \` ${ event . ResourceProperties . databaseName } \` .* TO ' ${ userCredentials . username } ' @'%';` ) ;
275
275
} else if ( event . ResourceProperties . onCreateIfExists === 'DeleteAndRecreate' && e . code === MysqlErrorCodes . DUPLICATE_OBJECT ) {
276
- await adminClient . query ( `DROP USER ${ userCredentials . username } ;` ) ;
276
+ await adminClient . query ( `DROP USER ' ${ userCredentials . username } ' ;` ) ;
277
277
await adminClient . query ( createUserQuery ) ;
278
278
} else {
279
279
throw e ;
280
280
}
281
281
}
282
282
283
- const createDatabaseQuery = `CREATE DATABASE ${ event . ResourceProperties . databaseName } ;` ;
283
+ const createDatabaseQuery = `CREATE DATABASE \` ${ event . ResourceProperties . databaseName } \` ;` ;
284
284
285
285
const userClient = await userClientManager . getClient ( ) ;
286
286
try {
@@ -297,11 +297,11 @@ const handleCreate = async (event: CreateEvent): Promise<Response> => {
297
297
if ( event . ResourceProperties . onCreateIfExists === 'Adopt' && e . code === MysqlErrorCodes . DUPLICATE_DATABASE ) {
298
298
// Database already exists, so we'll just adopt it
299
299
log ( 'Database already exists, adopting' ) ;
300
- await adminClient . query ( `GRANT ALL PRIVILEGES ON ${ event . ResourceProperties . databaseName } .* TO ${ userCredentials . username } @'%';` ) ;
300
+ await adminClient . query ( `GRANT ALL PRIVILEGES ON \` ${ event . ResourceProperties . databaseName } \` .* TO ' ${ userCredentials . username } ' @'%';` ) ;
301
301
} else if ( event . ResourceProperties . onCreateIfExists === 'DeleteAndRecreate' ) {
302
302
if ( e . code === MysqlErrorCodes . DUPLICATE_DATABASE ) {
303
303
log ( 'Database already exists, deleting and recreating' ) ;
304
- await adminClient . query ( `DROP DATABASE ${ event . ResourceProperties . databaseName } ;` ) ;
304
+ await adminClient . query ( `DROP DATABASE \` ${ event . ResourceProperties . databaseName } \` ;` ) ;
305
305
await userClient . query ( createDatabaseQuery ) ;
306
306
}
307
307
} else {
@@ -341,7 +341,7 @@ const handleUpdate = async (event: UpdateEvent): Promise<Response> => {
341
341
log ( 'Creating user if it does not exist' , { username : userCredentials . username } ) ;
342
342
try {
343
343
const client = await adminClient . getClient ( ) ;
344
- await client . query ( `CREATE USER ${ userCredentials . username } IDENTIFIED BY '${ userCredentials . password } ';` ) ;
344
+ await client . query ( `CREATE USER ' ${ userCredentials . username } ' IDENTIFIED BY '${ userCredentials . password } ';` ) ;
345
345
} catch ( e ) {
346
346
if ( ! isMysqlError ( e ) ) {
347
347
throw e ;
@@ -360,15 +360,15 @@ const handleUpdate = async (event: UpdateEvent): Promise<Response> => {
360
360
if ( event . ResourceProperties . onUpdateSetUserPassword === 'Always' ) {
361
361
log ( 'Setting user password' , { username : userCredentials . username } ) ;
362
362
const client = await adminClient . getClient ( ) ;
363
- await client . query ( `ALTER USER ${ userCredentials . username } WITH PASSWORD '${ userCredentials . password } ';` ) ;
363
+ await client . query ( `ALTER USER ' ${ userCredentials . username } ' WITH PASSWORD '${ userCredentials . password } ';` ) ;
364
364
} else {
365
365
log ( 'Not setting user password' , { username : userCredentials . username } ) ;
366
366
}
367
367
368
368
if ( event . ResourceProperties . onUpdateSetUserPermissions === 'Always' ) {
369
369
log ( 'Setting user permissions' , { username : userCredentials . username } ) ;
370
370
const client = await adminClient . getClient ( ) ;
371
- await client . query ( `GRANT ALL PRIVILEGES ON ${ event . ResourceProperties . databaseName } .* TO ${ userCredentials . username } @'%';` ) ;
371
+ await client . query ( `GRANT ALL PRIVILEGES ON \` ${ event . ResourceProperties . databaseName } \` .* TO ' ${ userCredentials . username } ' @'%';` ) ;
372
372
} else {
373
373
log ( 'Not setting user permissions' , { username : userCredentials . username } ) ;
374
374
}
@@ -377,7 +377,7 @@ const handleUpdate = async (event: UpdateEvent): Promise<Response> => {
377
377
log ( 'Creating database if it does not exist' , { databaseName : event . ResourceProperties . databaseName } ) ;
378
378
try {
379
379
const client = await userClient . getClient ( ) ;
380
- await client . query ( `CREATE DATABASE ${ event . ResourceProperties . databaseName } ;` ) ;
380
+ await client . query ( `CREATE DATABASE \` ${ event . ResourceProperties . databaseName } \` ;` ) ;
381
381
} catch ( e ) {
382
382
if ( ! isMysqlError ( e ) ) {
383
383
throw e ;
@@ -396,7 +396,7 @@ const handleUpdate = async (event: UpdateEvent): Promise<Response> => {
396
396
if ( event . ResourceProperties . onUpdateSetDatabaseOwnership === 'Always' ) {
397
397
log ( 'Setting database ownership' , { databaseName : event . ResourceProperties . databaseName } ) ;
398
398
const client = await adminClient . getClient ( ) ;
399
- await client . query ( `GRANT ALL PRIVILEGES ON ${ event . ResourceProperties . databaseName } .* TO ${ userCredentials . username } @'%';` ) ;
399
+ await client . query ( `GRANT ALL PRIVILEGES ON \` ${ event . ResourceProperties . databaseName } \` .* TO ' ${ userCredentials . username } ' @'%';` ) ;
400
400
} else {
401
401
log ( 'Not setting database ownership' , { databaseName : event . ResourceProperties . databaseName } ) ;
402
402
}
@@ -440,10 +440,10 @@ const handleDelete = async (event: DeleteEvent): Promise<Response> => {
440
440
const adminClient = await adminClientManager . getClient ( ) ;
441
441
442
442
log ( 'Dropping database if exists' , { databaseName : event . ResourceProperties . databaseName } ) ;
443
- await adminClient . query ( `DROP DATABASE IF EXISTS ${ event . ResourceProperties . databaseName } ;` ) ;
443
+ await adminClient . query ( `DROP DATABASE IF EXISTS \` ${ event . ResourceProperties . databaseName } \` ;` ) ;
444
444
445
445
log ( 'Dropping user if exists' , { databaseName : event . ResourceProperties . databaseName } ) ;
446
- await adminClient . query ( `DROP USER IF EXISTS ${ userCredentials . username } ;` ) ;
446
+ await adminClient . query ( `DROP USER IF EXISTS ' ${ userCredentials . username } ' ;` ) ;
447
447
448
448
await adminClient . end ( ) ;
449
449
0 commit comments