mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Update schema alter table boolean
This commit is contained in:
@@ -641,18 +641,30 @@
|
||||
//field type has changed
|
||||
else {
|
||||
switch ($field_type) {
|
||||
case 'numeric': $using = $field_name . "::numeric";
|
||||
case 'numeric':
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " USING " . $field_name . "::numeric;\n";
|
||||
break;
|
||||
case 'timestamp':
|
||||
case 'datetime': $using = $field_name . "::timestamp without time zone";
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " USING " . $field_name . "::timestamp with time zone;\n";
|
||||
break;
|
||||
case 'timestamptz': $using = $field_name . "::timestamp with time zone";
|
||||
case 'datetime':
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " USING " . $field_name . "::timestamp without time zone;\n";
|
||||
break;
|
||||
case 'boolean': $using = $field_name . "::text::boolean";
|
||||
case 'timestamptz':
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " USING " . $field_name . "::timestamp with time zone;\n";
|
||||
break;
|
||||
case 'boolean':
|
||||
if ($db_field_type == 'numeric') {
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE text USING " . $field_name . "::text;\n";
|
||||
}
|
||||
if ($db_field_type == 'text') {
|
||||
$sql_update .= "UPDATE " . $table_name . " set " . $field_name . " = 'false' where " . $field_name . " = '';\n";
|
||||
}
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " USING " . $field_name . "::boolean;\n";
|
||||
break;
|
||||
default: unset($using);
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . "\n";
|
||||
}
|
||||
$sql_update .= "ALTER TABLE " . $table_name . " ALTER COLUMN " . $field_name . " TYPE " . $field_type . " " . ($using ? "USING " . $using : null) . ";\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user