在Perfect框架中使用MySQL连接器

时间:2016-01-06 09:43:00

标签: mysql linux swift ubuntu perfect

我尝试使用ubuntu下的Perfect中的MySQL连接器连接到我的MySQL数据库。

我已成功创建MySQL.so文件,但不确定下一步该怎么做才能import MySQL并像MySQLTests.swift中的代码一样连接到MySQL数据库。

以下是我尝试的内容

  

MySQL.so复制到Perfect/PerfectServer/PerfectLibraries/ - >

     

添加-I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries   makefile下的/Perfect/Examples/URL Routing - >

     

import MySQL中添加Perfect/Examples/URL Routing/URL Routing/PerfectHandlers.swift - >

     

然后我在执行error: no such module 'MySQL'时得到make   命令。

任何人都知道如何使用Perfect提供的连接器?

我是斯威夫特的新人,也许这个问题对熟悉斯威夫特的人来说有点愚蠢。

1 个答案:

答案 0 :(得分:1)

您需要从系统库路径加载MySQL.so库。 我刚刚为MongoDB连接器做了这个,并没有为MySQL测试它,但我试图为你重现它。

遵循这些步骤可以帮助您:

  

确保已安装libmysqlclient-dev。

sudo apt-get install libmysqlclient-dev
  

cd进入你的MySQL项目目录并构建它

cd /path/to/myPerfectProject/MySQL

make
  

使二进制文件可用于您的项目:

ln -sf `pwd`/MySQL.so /usr/local/lib/
ln -sf `pwd`/MySQL.swiftmodule /usr/local/lib/
ln -sf `pwd`/MySQL.swiftdoc /usr/local/lib/
  

确保您的图书馆路径可用于make

sudo echo /usr/local/lib >> /etc/ld.so.conf
sudo ldconfig
  

像这样更新项目的makefile :(注意MySQL链接)

MYSQL_ROOT=/path/to/mysql

SWIFTC_FLAGS = -frontend -c -module-cache-path $(MODULE_CACHE_PATH) -emit-module -I /usr/local/lib -I $(PERFECT_ROOT)/linked/LibEvent \
    -I $(PERFECT_ROOT)/linked/OpenSSL_Linux -I $(PERFECT_ROOT)/linked/ICU -I $(PERFECT_ROOT)/linked/SQLite3 -I $(PERFECT_ROOT)/linked/LinuxBridge -I $(PERFECT_ROOT)/linked/cURL_Linux -I $(MYSQL_ROOT)/linked/libmysqlclient

LFLAGS = $(SHLIB_PATH) -luuid -lswiftCore -lswiftGlibc /usr/local/lib/MySQL.so /usr/local/lib/PerfectLib.so -Xlinker -rpath -Xlinker $($(OS)_SHLIB_PATH) -shared
  

构建项目

cd /path/to/myPerfectProject/

make