Swift Perfect Mac本地环境配置

教程原文地址

Perfect框架中文文档地址: http://perfect.org/docs/index_zh_CN.html

开启本地服务器

首先, 根据Perfect框架的官网文档, 快速开启本地服务器 http://perfect.org/docs/gettingStarted_zh_CN.html

数据库选择

后端开发, 必不可少的便是数据库, Perfect框架支持好几种数据库, 我自己选用的是MySql数据库, 以下所有教程都是基于MySql数据库进行展开的.

教程所有内容主要是以在本地和服务器部署各种环境为主, 避免浪费不必要的时间在部署环境上.

在Mac上安装MySql

打开终端, 安装mysql(请勿使用dmg的方式安装mysql, 经我测试, 发现会碰到一些麻烦的问题)

brew install mysql
  • 在Mac OS 10.12 上面, 直接安装即可.
  • 在Mac OS 10.13 上面, 可能需要更新Homebrew, 更新Homebrew又需要Ruby, 更新Ruby又需要Rvm等等. 在这个版本的操作系统上面, Homebrew拿不到/usr/local文件夹的读写权限, 按照官方给出的解决方法(https://github.com/Homebrew/brew/issues/3228), 在我自己的mac电脑上并不行, 来回折腾了1个多小时还是不行, 我决定采取暴力方法.直接卸载重装Homebrew, 重新安装后, 顺利的在mac上安装好了mysql.

如果你也需要采用这种暴力方法, 请继续看, 如果你已经顺利安装了, 直接跳过卸载重装的部分.

卸载Homebrew

$ cd `brew --prefix` 
$ rm -rf Cellar$ brew prune 
$ rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew 
$ rm -rf ~/Library/Caches/Homebrew

重新安装Homebrew

进入Homebrew官网 https://brew.sh/index_zh-cn.html, 复制这里的命令到终端安装即可(安装命令可能会变, 所以请自行前往复制)

MySql启动与配置

安装完成后, 手动启动mysql

mysql.server start    # 启动
mysql.server stop     # 停止
mysql.server restart  # 重启

打开数据库

mysql -u root -p

设置mysql密码

UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

更新用户名和密码, 用户名建议用root, 后面的教程都会以此为例子.

设置完密码后刷新权限

FLUSH PRIVILEGES

输入 \q 退出数据库

重新登录数据库, 尝试用新密码进入, 如果成功, 退出数据库, 进行接下来的步骤.

建议在网上找一个数据库软件, 更加直观的查看数据和调试.

代码连接数据库

接下来回到本地服务器项目代码这边.

打开Package.swift导入.Package(url:"https://github.com/PerfectlySoft/Perfect-MySQL.git", majorVersion: 3), 注意最后面有个逗号.

在终端执行swift buildswift package generate-xcodeproj, 用xcode打开项目.打开main.swift

import PerfectMySQL // 导入

// 配置数据库信息
let testHost = "127.0.0.1"
let testUser = "root"
let testPassword = "数据库密码"
let testDB = "mysql"

除了密码需要改成你自己设置的密码, 其他的照搬

加入以下函数并调用, 在这个函数声明之后, 随处调用即可

func fetchData() {
    let mysql = MySQL() // 创建一个MySQL连接实例
    let connected = mysql.connect(host: testHost, user: testUser, password: testPassword)
    guard connected else {
        // 验证一下连接是否成功
        print(mysql.errorMessage())
        return
    }
    
    print("\(mysql.listDatabases())")
    
    defer {
        mysql.close() //这个延后操作能够保证在程序结束时无论什么结果都会自动关闭数据库连接
    }
}

运行项目, 控制台打印

["information_schema", "mysql", "performance_schema", "sys"]

表示数据库已经用代码连接成功.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,653评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,321评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,833评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,472评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,306评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,274评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,658评论 3 385
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,335评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,638评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,697评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,454评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,311评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,699评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,986评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,254评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,647评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,847评论 2 335

推荐阅读更多精彩内容

  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 11,899评论 9 105
  • 我在拉萨晃了七天, 今天是最后一天。 最后一天, 我没去看布达拉宫, 没去看大昭寺, 我晃了一天! 我晃进了八廓街...
    吧啦吧啦花花花阅读 569评论 0 0
  • 不同的时间想着不同的事情,不一样的世界不一样的地区不一样的生活,时间渐渐的抹去了你的想法,抹去了你的青涩,抹去了你...
    将来酱紫阅读 638评论 0 0
  • 夜长更冷 夜长更冷梦不成,寒气袭人心也冷。半生伤魂几多痴,月应笑我赤子深。
    玉生烟阅读 298评论 3 5
  • 我以为自己承受很多, 我以为高大的自己可以做你的港湾。 却不曾想, 你沉默安静的外表下, 压抑着波涛汹涌。 撑起这...
    湛兮阅读 222评论 0 0