Vapor如何配置MySQL資料庫

大兵布萊恩特0409發表於2018-07-12

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開啟並執行

複製程式碼

QQ20170815-110156@2x.png

4 當xcode工程重新建立並開啟後這個時候我們發現工程目錄裡多了幾個資料夾

QQ20170815-110749@2x.png
這個就是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 開發交流群

QQ20180712-0.png

相關文章