@@ -25,7 +25,8 @@ public void TestFixtureSetup()
25
25
AddColumnString = "ALTER TABLE Model ADD Column1 VARCHAR(128) ;" ,
26
26
AlterColumnString = "ALTER TABLE Model ALTER Column2 VARCHAR(50) ;" ,
27
27
ChangeColumnNameString = "ALTER TABLE Model ALTER OldColumn3 TO Column3 ;" ,
28
- AddFKString = "ALTER TABLE Child ADD CONSTRAINT JustOneFK FOREIGN KEY (IdModel) REFERENCES Model (Id) ON UPDATE NO ACTION ON DELETE CASCADE;" ,
28
+ AddFKString = "ALTER TABLE Child ADD CONSTRAINT JustOneFK FOREIGN KEY (IdModel) REFERENCES Model (Id) ON DELETE CASCADE ON UPDATE NO ACTION;" ,
29
+ AddFKRestrictString = "ALTER TABLE Child ADD CONSTRAINT JustOneMoreFK FOREIGN KEY (IdModel) REFERENCES Model (Id) ON UPDATE NO ACTION;" ,
29
30
CreateIndexString = "CREATE UNIQUE INDEX JustIndexOnColumn3 ON Model(Column3);"
30
31
31
32
} ) ;
@@ -34,7 +35,8 @@ public void TestFixtureSetup()
34
35
AddColumnString = "ALTER TABLE `Model` ADD COLUMN `Column1` VARCHAR(255) NULL;" ,
35
36
AlterColumnString = "ALTER TABLE `Model` MODIFY COLUMN `Column2` VARCHAR(50) NULL;" ,
36
37
ChangeColumnNameString = "ALTER TABLE `Model` CHANGE COLUMN `OldColumn3` `Column3` VARCHAR(255) NULL;" ,
37
- AddFKString = "ALTER TABLE `Child` ADD CONSTRAINT `JustOneFK` FOREIGN KEY (`IdModel`) REFERENCES `Model` (`Id`) ON UPDATE NO ACTION ON DELETE CASCADE;" ,
38
+ AddFKString = "ALTER TABLE `Child` ADD CONSTRAINT `JustOneFK` FOREIGN KEY (`IdModel`) REFERENCES `Model` (`Id`) ON DELETE CASCADE ON UPDATE NO ACTION;" ,
39
+ AddFKRestrictString = "ALTER TABLE `Child` ADD CONSTRAINT `JustOneMoreFK` FOREIGN KEY (`IdModel`) REFERENCES `Model` (`Id`) ON DELETE RESTRICT ON UPDATE NO ACTION;" ,
38
40
CreateIndexString = "CREATE UNIQUE INDEX `JustIndexOnColumn3` ON `Model`(`Column3`);"
39
41
} ) ;
40
42
@@ -91,7 +93,22 @@ public void CanAddForeignKey ()
91
93
foreach ( var d in dialects )
92
94
{
93
95
OrmLiteConfig . DialectProvider = d . Provider ;
94
- Assert . AreEqual ( d . AddFKString , d . Provider . ToAddForeignKeyStatement < Child , Model > ( f=> f . IdModel , fk=> fk . Id , OnFkOption . NoAction , OnFkOption . Cascade , "JustOneFK" ) ) ;
96
+ Assert . AreEqual ( d . AddFKString ,
97
+ d . Provider . ToAddForeignKeyStatement < Child , Model > ( f=> f . IdModel ,
98
+ fk=> fk . Id , OnFkOption . NoAction , OnFkOption . Cascade , "JustOneFK" ) ) ;
99
+ }
100
+ }
101
+
102
+ [ Test ( ) ]
103
+ public void CanAddForeignKeyRestrict ( )
104
+ {
105
+
106
+ foreach ( var d in dialects )
107
+ {
108
+ OrmLiteConfig . DialectProvider = d . Provider ;
109
+ Assert . AreEqual ( d . AddFKRestrictString ,
110
+ d . Provider . ToAddForeignKeyStatement < Child , Model > ( f=> f . IdModel ,
111
+ fk=> fk . Id , OnFkOption . NoAction , OnFkOption . Restrict , "JustOneMoreFK" ) ) ;
95
112
}
96
113
}
97
114
@@ -140,6 +157,7 @@ public class Dialect
140
157
public string AlterColumnString { get ; set ; }
141
158
public string ChangeColumnNameString { get ; set ; }
142
159
public string AddFKString { get ; set ; }
160
+ public string AddFKRestrictString { get ; set ; }
143
161
public string CreateIndexString { get ; set ; }
144
162
145
163
}
0 commit comments