private void MakeTableScript() { //테이블 변경점을 찾아보자 foreach (var table in _scriptTables) { if (_dbTables.ContainsKey(table.Key)) { var connectDbTable = _dbTables[table.Key]; foreach (var column in table.Value.Columns) { if (connectDbTable.Columns.ContainsKey(column.Key.ToLower())) { //변경 var connectDbColumn = connectDbTable.Columns[column.Key.ToLower()]; if (!connectDbColumn.TypeCompare(column.Value)) { MySqlParseHelper.AlterMySqlColumn(column.Value); InputManager.Instance.WriteTrace($"Table[{column.Value.TableName}] ColumnName[{column.Value.ColumnName}] [{connectDbColumn.ColumnType}] 에서 [{column.Value.ColumnType}] 으로 변경됩니다."); InputManager.Instance.WriteTrace(""); } } else { if (column.Value.CommandType == CommandType.Add && column.Value.ClassificationType == ClassificationType.Columns) { InputManager.Instance.WriteTrace($"Table[ {column.Value.TableName} ] ColumnName[ {column.Value.ColumnName} ] (이)가 추가됩니다."); InputManager.Instance.WriteTrace(""); var output = MySqlParseHelper.AlterMySqlColumn(column.Value); } else if (column.Value.CommandType == CommandType.Change && column.Value.ClassificationType == ClassificationType.Columns) { InputManager.Instance.WriteTrace($"Table[ {column.Value.TableName} ] ColumnName[ {column.Value.ColumnName} ] 에서 ColumnName[ {column.Value.ChangeColumnName} ] [ {column.Value.ColumnType} ] 으로 변경됩니다."); InputManager.Instance.WriteTrace(""); MySqlParseHelper.AlterMySqlColumnChange(column.Value); } else { InputManager.Instance.WriteError($"Table[ {column.Value.TableName} ] ColumnName[ {column.Value.ColumnName} ] [ {column.Value.ColumnType} ]"); throw new Exception("Unknown Error"); } } } } } }