1+ using System ;
2+ using System . Collections . Generic ;
13using System . Data ;
4+ using System . Linq ;
25using DotNetProjects . Migrator . Framework ;
36using Migrator . Tests . Providers . Base ;
47using NUnit . Framework ;
@@ -30,4 +33,41 @@ public void ChangeColumn_NotNullAndNullToNotNull_Success()
3033 Assert . That ( column1 . ColumnProperty . HasFlag ( ColumnProperty . NotNull ) , Is . True ) ;
3134 Assert . That ( column2 . ColumnProperty . HasFlag ( ColumnProperty . NotNull ) , Is . True ) ;
3235 }
36+
37+ [ Test , Ignore ( "Not yet implemented. See issue https://github.com/dotnetprojects/Migrator.NET/issues/139" ) ]
38+ public void ChangeColumn_RemoveDefaultValue_Success ( )
39+ {
40+ // Arrange
41+ var tableName = "TableName" ;
42+ var column1Name = "Column1" ;
43+ var column2Name = "Column2" ;
44+
45+ var testTime = new DateTime ( 2025 , 5 , 5 , 5 , 5 , 5 , DateTimeKind . Utc ) ;
46+
47+ Provider . AddTable ( tableName ,
48+ new Column ( name : column1Name , type : DbType . Int32 , property : ColumnProperty . NotNull ) ,
49+ new Column ( name : column2Name , type : DbType . DateTime2 , property : ColumnProperty . Null , defaultValue : testTime )
50+ ) ;
51+
52+ // Act
53+ Provider . Insert ( table : tableName , [ column1Name ] , [ 1 ] ) ;
54+ Provider . ChangeColumn ( table : tableName , column : new Column ( name : column2Name , type : DbType . DateTime2 , property : ColumnProperty . Null ) ) ;
55+
56+ // Assert
57+ Provider . Insert ( table : tableName , [ column1Name ] , [ 2 ] ) ;
58+
59+ using var cmd = Provider . CreateCommand ( ) ;
60+ using var reader = Provider . Select ( cmd : cmd , table : tableName , columns : [ column1Name , column2Name ] ) ;
61+
62+ List < ( int , DateTime ) > records = [ ] ;
63+
64+ while ( reader . Read ( ) )
65+ {
66+ records . Add ( ( reader . GetInt32 ( 0 ) , reader . GetDateTime ( 1 ) ) ) ;
67+ }
68+
69+ Assert . That ( records . Count , Is . EqualTo ( 2 ) ) ;
70+ Assert . That ( records . Single ( x => x . Item1 == 1 ) . Item2 , Is . EqualTo ( testTime ) ) ;
71+ Assert . That ( records . Single ( x => x . Item1 == 2 ) . Item2 , Is . Null ) ;
72+ }
3373}
0 commit comments