-
Notifications
You must be signed in to change notification settings - Fork 3
/
DatabaseController.cs
46 lines (42 loc) · 1.78 KB
/
DatabaseController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Configuration;
using System.Web.Mvc;
using AliaSQL.Core;
using NLog;
namespace Demo.Website.Controllers
{
public class DatabaseController : Controller
{
private static Logger logger = LogManager.GetLogger("DatabaseMigrations");
// GET: Database
public ActionResult Index()
{
ViewBag.pendingchanges = new DbUpdater().PendingChanges(ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString);
ViewBag.pendingtestdata = new DbUpdater().PendingTestData(ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString);
ViewBag.dbversion = new DbUpdater().DatabaseVersion(ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString);
return View();
}
public ActionResult Update()
{
var result = new DbUpdater().UpdateDatabase(ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString);
if (result.Success)
{
logger.Info(result.Result);
return RedirectToAction("index");
}
logger.Error(result.Result);
return Content(result.Result.Replace(Environment.NewLine, "<br>"));
}
public ActionResult UpdateTestData()
{
var result = new DbUpdater().UpdateDatabase(ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString, RequestedDatabaseAction.TestData);
if (result.Success)
{
logger.Info(result.Result);
return RedirectToAction("index");
}
logger.Error(result.Result);
return Content(result.Result.Replace(Environment.NewLine, "<br>"));
}
}
}