This repository was archived by the owner on Dec 24, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
src/ServiceStack.OrmLite.PostgreSQL Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -333,6 +333,31 @@ public override string ToExecuteProcedureStatement(object objWithProperties)
333
333
return sql ;
334
334
}
335
335
336
+ public override string ToAlterColumnStatement ( Type modelType , FieldDefinition fieldDef )
337
+ {
338
+ var columnDefinition = GetColumnDefinition ( fieldDef ) ;
339
+ var modelName = GetQuotedTableName ( GetModel ( modelType ) ) ;
340
+
341
+ var parts = columnDefinition . SplitOnFirst ( ' ' ) ;
342
+ var columnName = parts [ 0 ] ;
343
+ var columnType = parts [ 1 ] ;
344
+
345
+ var notNull = columnDefinition . Contains ( "NOT NULL" ) ;
346
+
347
+ var nullLiteral = notNull ? " NOT NULL" : " NULL" ;
348
+ columnType = columnType . Replace ( nullLiteral , "" ) ;
349
+
350
+ var nullSql = notNull
351
+ ? "SET NOT NULL"
352
+ : "DROP NOT NULL" ;
353
+
354
+ var sql = $ "ALTER TABLE { modelName } \n "
355
+ + $ " ALTER COLUMN { columnName } TYPE { columnType } ,\n "
356
+ + $ " ALTER COLUMN { columnName } { nullSql } ";
357
+
358
+ return sql ;
359
+ }
360
+
336
361
public override string GetQuotedTableName ( string tableName , string schema = null )
337
362
{
338
363
return ! Normalize || ReservedWords . Contains ( tableName ) || ( schema != null && ReservedWords . Contains ( schema ) )
You can’t perform that action at this time.
0 commit comments