"Model"을 Vapor에서 "makeNode"함수와 함께 사용하고 있는데, 테이블 열의 크기가 약 14보다 작 으면 프로젝트를 성공적으로 빌드하고 실행할 수 있습니다. 그러나 테이블 열이 19 또는 20이되면 증기는 매우 천천히 형성되기 시작하고 결국 실패 할 것이라고보고합니다. MySQL 또는 MongoDB를 사용해 보았습니다. 둘 다 같은 문제가 있습니다. 그래서 난 20 열로 구성된 테이블을 사용해야 할 때이 문제를 해결하는 방법을 궁금 해서요. (가) 아래의 세부 사항은 다음과 같습니다노드의 열 수가 18을 초과하면 증기 빌드가 실패 했습니까?
final class TableName: Model {
var id: Node?
var column1: Int
var column2: Int
var column3: String
var column4: String
var column5: String
var column6: String
var column7: String
var column8: String
var column9: String
var column10: String
var column11: String
var column12: String
var column13: String
var column14: String
var column15: String
var column16: String
var createdAt: Double
var updatedAt: Double
init(column1: Int, column2: Int, column3: String, column4: String, column5: String, column6: String, column7: String, column8, column9: String, column10: String, column11: String, column12: String, column13: String, column14: String, column15: String, column16: String, createdAt: Double, updatedAt: Double) {
self.id = UUID().uuidString.makeNode()
self.column1 = column1
self.column2 = column2
self.column3 = column3
self.column4 = column4
self.column5 = column5
self.column6 = column6
self.column7 = column7
self.column8 = column8
self.column9 = column9
self.column10 = column10
self.column11 = column11
self.column12 = column12
self.column13 = column13
self.column14 = column14
self.column15 = column15
self.column16 = column16
self.createdAt = createdAt
self.updatedAt = updatedAt
}
init(node: Node, in context: Context) throws {
id = try node.extract("id")
column1 = try node.extract("column1")
column2 = try node.extract("column2")
// from 2~16, etc... don't repeat here...
updatedAt = try node.extract("updatedAt")
createdAt = try node.extract("createdAt")
}
// Issue happened here...
// when the amount less than about 10, results are ok and build fast,
// but will build slowly and slowly when the number goes more and more,
// even build failed when table columns goes to about 18~20.
func makeNode(context: Context) throws -> Node {
var node = try Node(node: [
"id": id,
"column1": column1,
"column2": column2,
"column3": column3,
"column4": column4,
"column5": column5,
"column6": column6,
"column7": column7,
"column8": column8,
"column9": column9,
"column10": column10,
"column11": column11,
"column12": column12,
"column13": column13,
"column14": column14,
"column15": column15,
"column16": column16,
"createdAt": createdAt,
"updatedAt": updatedAt
])
return node
}
}
그리고 빌드 오류 메시지입니다 :
명령으로 인해 신호에 실패 처치 : 그래서 9
, 내가주는 감사 것 이 문제를 해결할 수있는 힌트를 얻으십시오. 고맙습니다.