From 8f09003d78d04f5381042b97c72f06afe6d8b2ca Mon Sep 17 00:00:00 2001
From: sunkaixuan <610262374@qq.com>
Date: Fri, 17 May 2019 21:09:04 +0800
Subject: [PATCH] Update CreateDatabase
---
.../MySql/DbMaintenance/MySqlDbMaintenance.cs | 31 ++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs
index a127b052b..5cdb0c062 100644
--- a/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs
+++ b/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs
@@ -12,7 +12,7 @@ namespace SqlSugar
{
get
{
- return "SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME";
+ return "SHOW DATABASES";
}
}
protected override string GetColumnInfosByTableNameSql
@@ -248,6 +248,35 @@ namespace SqlSugar
#endregion
#region Methods
+ ///
+ ///by current connection string
+ ///
+ ///
+ ///
+ public override bool CreateDatabase(string databaseName, string databaseDirectory = null)
+ {
+ if (databaseDirectory != null)
+ {
+ if (!FileHelper.IsExistDirectory(databaseDirectory))
+ {
+ FileHelper.CreateDirectory(databaseDirectory);
+ }
+ }
+ var oldDatabaseName = this.Context.Ado.Connection.Database;
+ var connection = this.Context.CurrentConnectionConfig.ConnectionString;
+ connection = connection.Replace(oldDatabaseName, "sys");
+ var newDb = new SqlSugarClient(new ConnectionConfig()
+ {
+ DbType = this.Context.CurrentConnectionConfig.DbType,
+ IsAutoCloseConnection = true,
+ ConnectionString = connection
+ });
+ if (!GetDataBaseList(newDb).Any(it => it.Equals(databaseName, StringComparison.CurrentCultureIgnoreCase)))
+ {
+ newDb.Ado.ExecuteCommand(string.Format(CreateDataBaseSql, databaseName, databaseDirectory));
+ }
+ return true;
+ }
public override bool AddTableRemark(string tableName, string description)
{
string sql = string.Format(this.AddTableRemarkSql, this.SqlBuilder.GetTranslationTableName(tableName), description);