在 Perfect 框架中使用 MySQL 连接器

Using MySQL connector in Perfect framework

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

我已经成功创建了 MySQL.so 文件,但不确定下一步该怎么做才能 import MySQL 并连接到 MySQL 数据库,就像 [=24= 中的代码一样].

这是我试过的方法

Copying MySQL.so to Perfect/PerfectServer/PerfectLibraries/ ->

Adding -I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries in makefile under /Perfect/Examples/URL Routing ->

Adding import MySQL in Perfect/Examples/URL Routing/URL Routing/PerfectHandlers.swift ->

Then I got error: no such module 'MySQL' when executing make command.

谁知道完美提供的连接器怎么用?

我是 swift 的新手,也许这个问题对于熟悉 swift 的人来说有点愚蠢。

您需要从系统库路径加载 MySQL.so 库。 我刚刚为 MongoDB 连接器完成了此操作,还没有为 MySQL 测试它,但我尝试为您重现它。

按照这些步骤应该可以帮助您解决问题:

Ensure that you have installed libmysqlclient-dev.

sudo apt-get install libmysqlclient-dev

cd into your MySQL project dir and build it

cd /path/to/myPerfectProject/MySQL

make

Make the binaries available to your project:

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

Ensure your libraries path is availbale to make:

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

Update the makefile of your project like this: (notice the MySQL linkings)

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

Build your project

cd /path/to/myPerfectProject/

make