|
|
@@ -1,22 +1,21 @@
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Data;
|
|
|
-using System.Linq;
|
|
|
-using System.Reflection;
|
|
|
+using System.Reflection;
|
|
|
using BO.Console.Commands.Base;
|
|
|
using Quadarax.Foundation.Core.Data.Extensions;
|
|
|
using Quadarax.Foundation.Core.QConsole;
|
|
|
-using Quadarax.Foundation.Core.QConsole.Argument;
|
|
|
+using Quadarax.Foundation.Core.QConsole.Attributes;
|
|
|
using Quadarax.Foundation.Core.Resource.Extensions;
|
|
|
using Quadarax.Foundation.Core.Value;
|
|
|
|
|
|
namespace BO.Console.Commands.Install
|
|
|
{
|
|
|
+ [CommandDefinition]
|
|
|
internal class ClearDbCommand : DbBaseCommand
|
|
|
{
|
|
|
#region *** Constants ***
|
|
|
private const string CS_CMD_CLEAR_NAME = "dbclear";
|
|
|
- private const string CS_CMD_CLEAR_DESCR = "clear BO database (keep structure and deletes data).";
|
|
|
+ private const string CS_CMD_CLEAR_DESCR = "clear BO database (keep structure and deletes data, reseed identifiers).";
|
|
|
+
|
|
|
+ private const string DB_PROP_NAME = "BO_Version";
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
@@ -37,21 +36,17 @@ namespace BO.Console.Commands.Install
|
|
|
protected override Result OnExecute()
|
|
|
{
|
|
|
var result = new Result();
|
|
|
- using (var conn = OpenMasterConnection())
|
|
|
+ using (var conn = OpenConnection())
|
|
|
{
|
|
|
- if (CheckIfDbExists(conn, DatabseName))
|
|
|
- {
|
|
|
- var script = Assembly.GetExecutingAssembly().GetEmbeddedFileContentAsString("BO.Console.Commands.Install.bo_clear_data.sql");
|
|
|
- WriteCaption($"Clearing all data in '{DatabseName}'");
|
|
|
- var resultExecute = conn.BatchExecute(script);
|
|
|
- WriteDebugInfo($"Deploy script returns: {resultExecute}");
|
|
|
- if (resultExecute == 0)
|
|
|
- throw new Exception($"Database '{DatabseName}' clearing FAILED.");
|
|
|
-
|
|
|
- var version = conn.ExecuteScalar<string>(CommandType.Text, "select value from sys.extended_properties where NAME = 'BO_Version'");
|
|
|
- WriteCaption($"Database '{DatabseName}' cleared in version '{version}'");
|
|
|
- }
|
|
|
+ var script = Assembly.GetExecutingAssembly()
|
|
|
+ .GetEmbeddedFileContentAsString("BO.Console.Scripts.bo_clear_data.sql");
|
|
|
+ WriteCaption($"Clearing all data in '{DatabseName}'");
|
|
|
+ var resultExecute = conn.BatchExecute(script);
|
|
|
+ WriteDebugInfo($"Deploy script returns: {resultExecute}");
|
|
|
+ var version = conn.DatabasePropertyGet(DB_PROP_NAME);
|
|
|
+ WriteCaption($"Database '{DatabseName}' cleared in version '{version}'");
|
|
|
}
|
|
|
+
|
|
|
return new Result();
|
|
|
}
|
|
|
#endregion
|