使用make文件从.sql文件生成数据库

时间:2013-06-19 01:15:40

标签: ios sql xcode sqlite

我有一个.sql文件,其中包含我数据库中表的所有create语句(即CREATE TABLE X,CREATE INDEX Y,CREATE UNIQUE INDEX Z)。是否可以编写一个可以轻松运行此代码并生成表的makefile?

此外,是否可以将其连接到Xcode,以便在运行我的应用程序时创建数据库?

1 个答案:

答案 0 :(得分:3)

使用sqlite3_exec在您的应用中运行时运行sql文件。当然你只想做一次。您需要先使用sqlite2_open_v2打开一个新的数据库文件,然后执行sql文件。

如果要在构建期间在Xcode中生成数据库文件,可以在进行一些设置后执行此操作。我在我的一个项目中这样做。

首先在Xcode中选择目标并转到“Build Phases”选项卡。然后单击“添加构建阶段”按钮并选择“添加运行脚本”。双击“运行脚本”标题并将其重命名为有用的内容,例如“生成数据库文件”。

将“shell”值更改为“/ bin / bash”。

对脚本使用以下内容:

cd database
if [ create.sql -nt data.db ]; then
   rm -rf empty.db
fi

if [ ! -e data.db ]; then
   sqlite3 data.db < create.sql
fi
cd -

您可能需要更改此脚本的一些详细信息。鉴于脚本将从项目的根目录运行,请更改第一行(cd database)以反映您的sql文件在您自己的项目中的位置。然后更改对create.sql的任何引用以匹配您自己的sql文件的名称。最后,更改对data.db的任何引用,以匹配您希望命名的数据库文件。

最后一步是将此构建阶段移至“复制捆绑资源”阶段之前。另外,请确保db文件最终在您的资源中。

只要db文件更新,脚本就会更新sql文件。