1.Perfect的教程里,是使用Homebrew去安装MySQL,然后使用命令行操作开关。这里我建议去官网去下载.dmg文件自己安装,这样的话,可以在系统偏好设置中找到MySQL直接进行开关。
2.去下载MySQL Workbench管理MySQL
都下载安装好了之后,打开MySQL数据库,在系统偏好设置里。打开MySQL Workbench,点击MySQL Connections右边的加号添加一个数据库连接。
3.创建完数据库后,接下来我们要创建一个user表用来进行测试。点击左下方的加号来创建新的数据库表,下方就是我们创建的数据库表的具体步骤以及具体的参数配置。如下所示:
创建完user表后,我们需要往表里边添加一些测试字段,下方就是我们添加的一些字段。在我们的user表中有下方四个字段,id是主键,用户的唯一标示。username-用户名,password-用户密码,create_time是创建时间,create_time的类型是时间戳,而且默认值是当前时间
4.开始perfect
首先我们从Github上Clone一份Perfect框架的模板(PerfectTemplate:https://github.com/PerfectlySoft/PerfectTemplate)。
然后cd 到目录下
Package.swift文件中的内容,也就是本工程中所依赖的包
可以在package.swift中更改工程名字比如:HelloMySql
编译:swift build
生成xcode工程: swift package generate-xcodeproj
5.导入MySql会遇见的错误:
(1)Header '/usr/local/include/mysql/mysql.h'
这个错误是因为我们存放mysql.h文件的路径和它引用的路径不同。用Homebrew安装的MySQL路径确实是正确的。
解决方法:
点击Finder,选择前往文件夹,进入/usr/local目录下,你会发现有mysql文件夹,在文件夹里找到对应mysql.h得到目录,将报错的module.modulemap文件中的路径修改成你自己的路径就可以了。这里我自己最后的路径是/usr/local/mysql-5.7.15-osx10.11-x86_64/include/mysql.h
(2)ld: library not found for -lmysqlclient for architecture x86_64
解决方法:
在Target中找到MySQL,找到Library Search Paths中加上/usr/local/mysql/lib。
在Target中找到PerfectTemplate找到Other Linker Flags 加上-L/usr/local/mysql/lib就能把找不到lmysqlclient也解决。这里两个路径都得是自己Mac上对应的文件MySQL路径。其中在lib目录下能找到对应的mysqlclient文件。
(3)(XCode8.1新的Perfect不会出现)
ld: library not found for -lCOpenSSL for architecture x86_64
这个错误我在Stack Overflow提问过。
解决方法是,进入PerfectTemplate Project的Build Settings注意不是Target的。找到Library Search Paths。加上"$(PROJECT_DIR)/**"这里包括双引号。
(4):报mysql not load : reason image not find
解决方案:sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
6.运行成功后
debug区域会显示[INFO] Starting HTTP server on 0.0.0.0:8181
打开浏览器,输入http://127.0.0.1/8181
也可以更改端口号: