Repository navigation
Expand file tree
/
Copy pathInstallDatabaseInitializer.cs
More file actions
65 lines (53 loc) · 1.55 KB
/
Copy pathInstallDatabaseInitializer.cs
File metadata and controls
65 lines (53 loc) · 1.55 KB
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using SmartStore.Core.Data;
using SmartStore.Data.Migrations;
using SmartStore.Utilities;
namespace SmartStore.Data.Setup
{
/// <summary>
/// An implementation of <see cref="IDatabaseInitializer{TContext}" /> that will use Code First Migrations
/// to setup and seed the database.
/// </summary>
public class InstallDatabaseInitializer : MigrateDatabaseInitializer<SmartObjectContext, MigrationsConfiguration>
{
#region Ctor
public InstallDatabaseInitializer()
: base()
{
}
public InstallDatabaseInitializer(string connectionString)
: base(connectionString)
{
}
#endregion
#region Interface members
/// <summary>
/// Initializes the database.
/// </summary>
/// <param name="context">The context.</param>
/// <inheritdoc />
public override void InitializeDatabase(SmartObjectContext context)
{
// we don't use DbSeedingMigrator here because we don't care
// about Migration seeds during installation.
// The installation seeder contains ALL required seed data already.
var migrator = new DbMigrator(base.CreateConfiguration());
// Run all migrations including the initial one
migrator.Update();
// seed install data
this.Seed(context);
}
#endregion
}
}