using System; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; namespace Helper { internal class Program { static void Main(string[] args) { CleanMigration(); } private static void CleanMigration() { var DBName = "BusinessERP"; // AdminSnax BusinessERP var FilePath = @"E:\gitClone\BusinessERP\BusinessERP\Migrations"; //var FilePath = @"/Users/macbook/Git/BusinessERP/BusinessERP/Migrations"; var DefaultConnectionMSSQL = "Server=DEVSTATION\\MSSQLSERVER2017;Database=" + DBName + ";User ID=sa;Password=dev123456;MultipleActiveResultSets=true"; //var DefaultConnectionMSSQL = "Server=localhost;Database=" + DBName + ";User ID=sa;Password=Dev@998877;MultipleActiveResultSets=true"; Directory.GetFiles(FilePath).ToList().ForEach(File.Delete); Console.WriteLine("Delete File: Success"); if (CheckDatabase(DBName)) { var sqlQuery = "use master\nalter database[" + DBName + "] set single_user with rollback immediate\ndrop database[" + DBName + "]"; using SqlConnection _SqlConnection = new(DefaultConnectionMSSQL); _SqlConnection.Open(); using SqlCommand _SqlCommand = new(sqlQuery, _SqlConnection); _SqlConnection.OpenAsync(); _SqlCommand.ExecuteNonQuery(); _SqlConnection.Close(); Console.WriteLine("Delete DB: Success"); } else { Console.WriteLine("DeleteDB: No DB Found with name as " + DBName); } Console.WriteLine("Task completed: Success"); Console.ReadLine(); } private static bool CheckDatabase(string databaseName) { string connString = "Server=DEVSTATION\\MSSQLSERVER2017;Integrated Security=SSPI;database=master"; string cmdText = @"if Exists(select 1 from master.dbo.sysdatabases where name=@db) select 1 else select 0"; using SqlConnection sqlConnection = new(connString); sqlConnection.Open(); using SqlCommand sqlCmd = new(cmdText, sqlConnection); sqlCmd.Parameters.Add("@db", SqlDbType.NVarChar).Value = databaseName; int nRet = Convert.ToInt32(sqlCmd.ExecuteScalar()); return (nRet > 0); } } }