1 首先将MySQL需要的依赖库下载到你的电脑上 (To use MySQL, you need to have the C MySQL library installed on your computer.)
brew install vapor/tap/cmysql
2 设置Package.swift 中的依赖关系 类似cocoapods中的podfile文件写的 pod 'MJExtension' 这些 告诉Vapor需要添加那些供应商(provider)
import PackageDescription
let package = Package(
name: "VaporTemplateMySQL",
targets: [
Target(name: "App"),
Target(name: "Run", dependencies: ["App"]),
],
dependencies: [
.Package(url: "https://github.com/vapor/vapor.git", majorVersion: 2),
//重点是把原来的fluent-provider换成下面这个
.Package(url: "https://github.com/vapor/mysql-provider.git", majorVersion: 2)
],
exclude: [
"Config",
"Database",
"Localization",
"Public",
"Resources",
]
)
作者:范东同学
链接:http://www.jianshu.com/p/4505deebaa21
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
3 添加完依赖关系后 我们的工程并没有将MySQL需要的依赖包下载的工程里 这个时候 需要cd 到YourVapor 工程目录下 ,执行vapor update 去更新程序需要的内容
vapor update
这个过程会持续几分钟 直到更新完成,之后会提示你是否重新生成一个xcode工程,选择 y vapor可以给你的xcode重新生成一个工程 并且让你能够打开 类似于 cocoapods给你生成一个workspace文件 让你能够通过这个打开一样 对xcode进行配置 使其能够用xcode打开并运行
4 当xcode工程重新创建并打开后这个时候我们发现工程目录里多了几个文件夹
这个就是MySQL所需要的依赖包 这个时候我们 import MySQLProvider 是不会报错的
5 接下来我们可以在xcode中区配置MySQL需要的一些内容
Config+Setup.swift
在配置提供程序那行
import FluentProvider
/// Configure providers
private func setupProviders() throws {
try addProvider(FluentProvider.Provider.self)
}
换成
import MySQLProvider
/// Configure providers
private func setupProviders() throws {
try addProvider(MySQLProvider.Provider.self)
}
Config目录的配置文件
fluent.json
改完应该是这样的
{
"driver": "mysql"
}
mysql.json
原有Config目录下没有这个文件,你需要新建这个文件
{
"hostname": "127.0.0.1:3360",
"user": "user",
"password": "xxxxx",
"database": "MySqlServer"
}
然后在man.swift 加入以下代码
let config = try Config()
try config.addProvider(MySQLProvider.Provider.self)
let drop = try Droplet(config)
try drop.run()
作者:范东同学
链接:http://www.jianshu.com/p/4505deebaa21
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
另外你还需要学习 mac如何使用mysql 这样你才能在本地搭建起来MySQL数据库 ,如果 mysql.json 中的hostname , user , password ,database有一个错误的话 程序很可能运行不起来 crash在main.swfit哪里
mac如何安装mysql数据库 (http://www.jianshu.com/p/e18da412e042)
好了,我是大兵布莱恩特,欢迎加入博主技术交流群,iOS 开发交流群