Ejemplo n.º 1
0
 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");
                     }
                 }
             }
         }
     }
 }