# setup
PRAGMA foreign_keys=ON;
PRAGMA journal_mode=TRUNCATE;
PRAGMA locking_mode=EXCLUSIVE;
PRAGMA synchronous=NORMAL;
# Locations
CREATE TABLE IF NOT EXISTS Locations (
locID INTEGER PRIMARY KEY,
locPath TEXT NOT NULL
);
# blah-blah
CREATE UNIQUE INDEX IF NOT EXISTS fldPath_idx
ON Folders(fldPath);
# and so on
在需要类似内容的解决方案中,我倾向于将
.sql
文件保存在与代码相同的目录中,其中包含数据库的构建说明,使用类似于以下内容的结构:请注意,所有SQL语句都以分号结尾,作为行的最后一个非空白字符,因为我有类似以下方法的代码,确保每次应用程序启动时架构都会运行:
^{pr2}$注意
CREATE TABLE IF NOT EXISTS
和CREATE INDEX IF NOT EXISTS
的用法。在SQLite有一个pragma user_version,它将为您在数据库中存储任意数字。通常情况下,您将使用它来跟踪您自己的架构版本-例如应用程序的第一个版本是1,当您以后更改架构三个应用程序版本时,您将其设置为2,以检测您的代码是否已完成架构升级。在
但是,您可以将其设置为任何起始值。例如从3656672354开始,添加到内部版本跟踪。任何其他数据库的值在该范围内的可能性几乎为零。在
相关问题 更多 >
编程相关推荐