【发布时间】:2017-07-28 23:23:48
【问题描述】:
我不断收到此错误。
我确认 mysql 服务器正在我的 MAC 机器上运行,并且我已经在 mysql 服务器中为这个项目创建了一个数据库。
- 下面是我的 main.swift
import Vapor
import VaporMySQL
let drop = Droplet()
try drop.addProvider(VaporMySQL.Provider.self)
drop.preparations = [Student.self]
let _ = HomeController(drop: drop)
drop.run()
- 下面是我的 HomeController.swift
import Vapor
import HTTP
import Foundation
final class HomeController {
var drop: Droplet
init(drop: Droplet) {
self.drop = drop
let studentsGroup = self.drop.grouped("/")
studentsGroup.get(handler: homePageWithBankList)
}
func homePageWithBankList(request: Request) throws -> ResponseRepresentable {
do {
var student = Student()
student.name = "name"
try student.save() // Here error raise
} catch {
print(error.localizedDescription) // Getting error log here
}
return ""
}
}
- 下面是我的 Student.swift 模型类
import Vapor
final class Student: Model {
var id: Node?
var exists: Bool = false
var name: String = ""
init() {
self.id = nil
}
init(node: Node, in context: Context) throws {
id = try node.extract("id")
name = try node.extract("name")
}
public func makeNode(context: Context) throws -> Node {
return try Node(node:[
"id": id,
"name": name
])
}
static func prepare(_ database: Database) throws {
try database.create("student") { student in
student.id()
student.string("name")
}
}
static func revert(_ database: Database) throws {
try database.delete("student")
}
}
- 下面是mysql.json配置文件
{
"host": "localhost",
"user": "root",
"password": "admin",
"database": "studentsDB",
"port": "3306",
"encoding": "utf8"
}
- 以下是我的包依赖项
dependencies: [
.Package(url: "https://github.com/vapor/vapor.git", majorVersion: 1, minor: 5),
.Package(url: "https://github.com/vapor/mysql-provider.git", majorVersion: 1, minor: 1)
]
- 下面是在我的 MAC 上运行 mysql --version
mysql Ver 14.14 Distrib 5.7.17, for osx10.12 (x86_64) using EditLine wrapper
编辑:- 我在 GitHub 上有这个项目 >>Here<<
【问题讨论】: