@@ -43,6 +43,7 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
43
43
44
44
const sqlQuery = children . sql . children . text . unevaledValue . replace ( / + / g, ' ' ) ;
45
45
const isCreateDBQuery = sqlQuery . toUpperCase ( ) . startsWith ( 'CREATE DATABASE' ) ;
46
+ const isDropDBQuery = sqlQuery . toUpperCase ( ) . startsWith ( 'DROP DATABASE' ) ;
46
47
47
48
return async ( p : { args ?: Record < string , unknown > } ) : Promise < QueryResult > => {
48
49
try {
@@ -52,8 +53,11 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
52
53
if ( databaseType === 'localDB' && isCreateDBQuery ) {
53
54
const updatedQuery = `${ sqlQuery . slice ( 0 , 6 ) } ${ selectedDB } ${ sqlQuery . slice ( 6 ) } ` ;
54
55
const tableName = updatedQuery . split ( ' ' ) . pop ( ) ?. replace ( ';' , '' ) ;
55
- result = alasql ( updatedQuery ) ;
56
- result = alasql ( `ATTACH ${ selectedDB } DATABASE ${ tableName } ;` ) ;
56
+ result = await alasql . promise ( updatedQuery ) ;
57
+ result = await alasql . promise ( `ATTACH ${ selectedDB } DATABASE ${ tableName } ;` ) ;
58
+ } else if ( databaseType === 'localDB' && isDropDBQuery ) {
59
+ const updatedQuery = `${ sqlQuery . slice ( 0 , 4 ) } ${ selectedDB } ${ sqlQuery . slice ( 4 ) } ` ;
60
+ result = await alasql ( updatedQuery ) ;
57
61
} else {
58
62
let segments = getDynamicStringSegments ( sqlQuery ) ;
59
63
let dataArr : any = [ ] ;
@@ -65,7 +69,7 @@ export class AlaSqlQuery extends AlaSqlTmpQuery {
65
69
}
66
70
return segment ;
67
71
} )
68
- result = alasql ( segments . join ( ' ' ) , dataArr ) ;
72
+ result = await alasql . promise ( segments . join ( ' ' ) , dataArr ) ;
69
73
}
70
74
71
75
return {
0 commit comments