@@ -10,41 +10,63 @@ namespace BetterModules.Core.DataAccess.DataContext.Migrations
10
10
{
11
11
public abstract class DefaultMigration : Migration
12
12
{
13
- protected const string PostgresThrowNotSupportedErrorSql = "RAISE EXCEPTION 'NOT SUPPORTED IN CURRENT VERSION!';" ;
13
+ protected const string PostgresThrowNotSupportedErrorSql =
14
+ "RAISE EXCEPTION 'NOT SUPPORTED IN CURRENT VERSION!';" ;
14
15
15
- protected const string OracleThrowNotSupportedErrorSql = "raise_application_error(-1, 'NOT SUPPORTED IN CURRENT VERSION!');" ;
16
+ protected const string OracleThrowNotSupportedErrorSql =
17
+ "raise_application_error(-1, 'NOT SUPPORTED IN CURRENT VERSION!');" ;
16
18
17
19
private readonly string moduleName ;
18
20
19
21
private string schemaName ;
20
22
21
23
public string SchemaName
22
24
{
23
- get
24
- {
25
- return schemaName ?? ( schemaName = SchemaNameProvider . GetSchemaName ( moduleName ) ) ;
26
- }
25
+ get { return schemaName ?? ( schemaName = SchemaNameProvider . GetSchemaName ( moduleName ) ) ; }
27
26
}
28
27
29
28
public DefaultMigration ( string moduleName )
30
29
{
31
30
this . moduleName = moduleName ;
32
- var currentModule = ModulesRegistrationSingleton . Instance . GetModules ( ) . First ( module => module . ModuleDescriptor . Name == moduleName ) ;
33
- schemaName = currentModule . ModuleDescriptor . SchemaName ;
31
+ var currentModule = ModulesRegistrationSingleton . Instance . GetModules ( )
32
+ . FirstOrDefault (
33
+ module => module . ModuleDescriptor != null && module . ModuleDescriptor . Name == moduleName ) ;
34
+ if ( currentModule != null )
35
+ {
36
+ schemaName = currentModule . ModuleDescriptor . SchemaName ;
37
+ }
34
38
}
35
39
36
40
public DefaultMigration ( Type moduleDescriptorType )
37
41
{
38
- var currentModule = ModulesRegistrationSingleton . Instance . GetModules ( ) . First ( module => module . ModuleDescriptor . GetType ( ) == moduleDescriptorType ) ;
39
- schemaName = currentModule . ModuleDescriptor . SchemaName ;
42
+ var currentModule = ModulesRegistrationSingleton . Instance . GetModules ( )
43
+ . FirstOrDefault (
44
+ module => module . ModuleDescriptor != null && module . ModuleDescriptor . GetType ( ) == moduleDescriptorType ) ;
45
+ if ( currentModule != null )
46
+ {
47
+ schemaName = currentModule . ModuleDescriptor . SchemaName ;
48
+ }
49
+ }
50
+
51
+ public DefaultMigration ( )
52
+ {
53
+ var assembly = this . GetType ( ) . Assembly ;
54
+ var currentModule = ModulesRegistrationSingleton . Instance . GetModules ( )
55
+ . FirstOrDefault (
56
+ module => module . ModuleDescriptor != null && module . ModuleDescriptor . AssemblyName == assembly . GetName ( ) ) ;
57
+ if ( currentModule != null )
58
+ {
59
+ schemaName = currentModule . ModuleDescriptor . SchemaName ;
60
+ }
40
61
}
41
62
42
63
/// <summary>
43
64
/// Downs this instance.
44
65
/// </summary>
45
66
public override void Down ( )
46
67
{
47
- throw new CoreException ( "Down migration not possible." , new NotSupportedException ( "Application doesn't support DOWN migrations." ) ) ;
68
+ throw new CoreException ( "Down migration not possible." ,
69
+ new NotSupportedException ( "Application doesn't support DOWN migrations." ) ) ;
48
70
}
49
71
50
72
protected IIfDatabaseExpressionRoot IfSqlServer ( )
@@ -62,4 +84,4 @@ protected IIfDatabaseExpressionRoot IfOracle()
62
84
return IfDatabase ( "Oracle" ) ;
63
85
}
64
86
}
65
- }
87
+ }
0 commit comments