@@ -40,25 +40,31 @@ public override string ToPostDropTableStatement(ModelDefinition modelDef)
40
40
{
41
41
if ( modelDef . RowVersion != null )
42
42
{
43
- var triggerName = RowVersionTriggerFormat . Fmt ( modelDef . ModelName ) ;
43
+ var triggerName = GetTriggerName ( modelDef ) ;
44
44
return "DROP TRIGGER IF EXISTS {0}" . Fmt ( GetQuotedTableName ( triggerName ) ) ;
45
45
}
46
46
47
47
return null ;
48
48
}
49
49
50
+ private string GetTriggerName ( ModelDefinition modelDef )
51
+ {
52
+ return RowVersionTriggerFormat . Fmt ( GetTableName ( modelDef ) ) ;
53
+ }
54
+
50
55
public override string ToPostCreateTableStatement ( ModelDefinition modelDef )
51
56
{
52
57
if ( modelDef . RowVersion != null )
53
58
{
54
- var triggerName = RowVersionTriggerFormat . Fmt ( modelDef . ModelName ) ;
59
+ var triggerName = GetTriggerName ( modelDef ) ;
60
+ var tableName = GetTableName ( modelDef ) ;
55
61
var triggerBody = "UPDATE {0} SET {1} = OLD.{1} + 1 WHERE {2} = NEW.{2};" . Fmt (
56
- modelDef . ModelName ,
62
+ tableName ,
57
63
modelDef . RowVersion . FieldName . SqlColumn ( ) ,
58
64
modelDef . PrimaryKey . FieldName . SqlColumn ( ) ) ;
59
65
60
66
var sql = "CREATE TRIGGER {0} BEFORE UPDATE ON {1} FOR EACH ROW BEGIN {2} END;" . Fmt (
61
- triggerName , modelDef . ModelName , triggerBody ) ;
67
+ triggerName , tableName , triggerBody ) ;
62
68
63
69
return sql ;
64
70
}
@@ -128,6 +134,14 @@ public override IDbConnection CreateConnection(string connectionString, Dictiona
128
134
129
135
protected abstract IDbConnection CreateConnection ( string connectionString ) ;
130
136
137
+ public virtual string GetTableName ( ModelDefinition modelDef )
138
+ {
139
+ var tableName = NamingStrategy . GetTableName ( modelDef . ModelName ) ;
140
+ return ! modelDef . IsInSchema
141
+ ? tableName
142
+ : string . Format ( "{0}_{1}" , modelDef . Schema , tableName ) ;
143
+ }
144
+
131
145
public override string GetQuotedTableName ( ModelDefinition modelDef )
132
146
{
133
147
if ( ! modelDef . IsInSchema )
0 commit comments