hunk.code_window:             console.log(
                   chalk.green("Database schema has been successfully dropped."),
               )
           } catch (err) {
               if (dataSource) await dataSource.destroy()
               PlatformTools.logCmdErr("Error during schema drop:", err)
  
hunk.labels: keep keep keep keep replace keep
hunk.file_path: src/commands/SchemaDropCommand.ts
hunk.type: replace
file: import { QueryRunner } from "../query-runner/QueryRunner"
  import { DataSource } from "../data-source/DataSource"
  import { PlatformTools } from "../platform/PlatformTools"
  import * as yargs from "yargs"
  import chalk from "chalk"
  import path from "path"
  import process from "process"
  import { CommandUtils } from "./CommandUtils"
  
  /**
   * Executes an SQL query on the given dataSource.
   */
  export class QueryCommand implements yargs.CommandModule {
      command = "query [query]"
      describe =
          "Executes given SQL query on a default dataSource. Specify connection name to run query on a specific dataSource."
  
      builder(args: yargs.Argv) {
          return args
              .positional("query", {
                  describe: "The SQL Query to run",
                  type: "string",
              })
              .option("dataSource", {
                  alias: "d",
                  describe:
                      "Path to the file where your DataSource instance is defined.",
                  demandOption: true,
              })
      }
  
      async handler(args: yargs.Arguments) {
          let queryRunner: QueryRunner | undefined = undefined
          let dataSource: DataSource | undefined = undefined
          try {
              dataSource = await CommandUtils.loadDataSource(
                  path.resolve(process.cwd(), args.dataSource as string),
              )
              dataSource.setOptions({
                  synchronize: false,
                  migrationsRun: false,
                  dropSchema: false,
                  logging: false,
              })
              await dataSource.initialize()
  
              // create a query runner and execute query using it
              queryRunner = dataSource.createQueryRunner()
              const query = args.query as string
              console.log(
                  chalk.green("Running query: ") +
                      PlatformTools.highlightSql(query),
              )
              const queryResult = await queryRunner.query(query)
  
              if (typeof queryResult === "undefined") {
                  console.log(
                      chalk.green(
                          "Query has been executed. No result was returned.",
                      ),
                  )
              } else {
                  console.log(chalk.green("Query has been executed. Result: "))
                  console.log(
                      PlatformTools.highlightJson(
                          JSON.stringify(queryResult, undefined, 2),
                      ),
                  )
              }
  
              await queryRunner.release()
              await dataSource.destroy()
          } catch (err) {
              if (queryRunner) await (queryRunner as QueryRunner).release()
              if (dataSource) await dataSource.destroy()
  
              PlatformTools.logCmdErr("Error during query execution:", err)
              process.exit(1)
          }
      }
  }
  