@@ -43,6 +43,9 @@ public void ChangeColumn_HavingColumnPropertyUniqueAndIndex_RebuildSucceeds()
4343 Provider . ExecuteNonQuery ( $ "INSERT INTO { testTableName } ({ propertyName1 } , { propertyName2 } ) VALUES (2, 3)") ;
4444
4545 // Assert
46+ var createScriptAfter = ( ( SQLiteTransformationProvider ) Provider ) . GetSqlCreateTableScript ( testTableName ) ;
47+ Assert . That ( createScriptAfter , Does . Contain ( "Color2 TEXT NULL UNIQUE" ) ) ;
48+
4649 using var command = Provider . GetCommand ( ) ;
4750 using var reader = Provider . ExecuteQuery ( command , $ "SELECT COUNT(*) as Count from { testTableName } ") ;
4851 reader . Read ( ) ;
@@ -65,4 +68,26 @@ public void ChangeColumn_HavingColumnPropertyUniqueAndIndex_RebuildSucceeds()
6568 Assert . That ( indexAfter . Name , Is . EqualTo ( indexName ) ) ;
6669 CollectionAssert . AreEquivalent ( indexAfter . KeyColumns , new string [ ] { propertyName1 , propertyName2 } ) ;
6770 }
71+
72+ [ Test ]
73+ public void ChangeColumn_StringFromNullToNotNull_Ok ( )
74+ {
75+ // Arrange
76+ const string testTableName = "MyDefaultTestTable" ;
77+ const string propertyName1 = "Color1" ;
78+ const string propertyName2 = "Color2" ;
79+
80+ Provider . AddTable ( testTableName ,
81+ new Column ( propertyName1 , DbType . Int32 , ColumnProperty . PrimaryKey ) ,
82+ new Column ( propertyName2 , DbType . String , ColumnProperty . Null )
83+ ) ;
84+
85+ // Act
86+ Provider . ChangeColumn ( table : testTableName , new Column ( propertyName2 , DbType . String , ColumnProperty . NotNull ) ) ;
87+
88+
89+ // Assert
90+ var createScriptAfter = ( ( SQLiteTransformationProvider ) Provider ) . GetSqlCreateTableScript ( testTableName ) ;
91+ Assert . That ( createScriptAfter , Does . Contain ( "Color2 TEXT NOT NULL" ) ) ;
92+ }
6893}
0 commit comments