fix postgres unique constraint

This commit is contained in:
2022-11-04 20:17:46 +08:00
parent 89ff2bf452
commit 73da4f8dc5

View File

@@ -10,12 +10,13 @@ var initFilesTableQuery = `CREATE TABLE IF NOT EXISTS files (
folder_id INTEGER NOT NULL REFERENCES folders(id), folder_id INTEGER NOT NULL REFERENCES folders(id),
realname TEXT NOT NULL, realname TEXT NOT NULL,
filename TEXT NOT NULL, filename TEXT NOT NULL,
filesize INTEGER NOT NULL filesize INTEGER NOT NULL,
UNIQUE (folder_id, realname)
);` );`
var initFoldersTableQuery = `CREATE TABLE IF NOT EXISTS folders ( var initFoldersTableQuery = `CREATE TABLE IF NOT EXISTS folders (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
folder TEXT NOT NULL, folder TEXT NOT NULL UNIQUE,
foldername TEXT NOT NULL foldername TEXT NOT NULL
);` );`
@@ -102,6 +103,7 @@ var initTmpfsTableQuery = `CREATE TABLE IF NOT EXISTS tmpfs (
var insertFolderQuery = `INSERT INTO folders (folder, foldername) var insertFolderQuery = `INSERT INTO folders (folder, foldername)
VALUES ($1, $2) VALUES ($1, $2)
ON CONFLICT DO NOTHING
RETURNING id; RETURNING id;
;` ;`
@@ -111,6 +113,7 @@ var findFileQuery = `SELECT id FROM files WHERE folder_id = $1 AND realname = $2
var insertFileQuery = `INSERT INTO files (folder_id, realname, filename, filesize) var insertFileQuery = `INSERT INTO files (folder_id, realname, filename, filesize)
VALUES ($1, $2, $3, $4) VALUES ($1, $2, $3, $4)
ON CONFLICT DO NOTHING
RETURNING id;` RETURNING id;`
var searchFilesQuery = `SELECT var searchFilesQuery = `SELECT