|
@@ -256,17 +256,17 @@ class FilesDB {
|
|
|
static List<String> addUniqueConstraintOnCollectionFiles() {
|
|
|
return [
|
|
|
'''
|
|
|
- DELETE from $table where ($columnCollectionID, $columnUploadedFileID) IN
|
|
|
- (SELECT $columnCollectionID, $columnUploadedFileID from $table WHERE
|
|
|
- $columnCollectionID is not NULL AND $columnUploadedFileID is NOT NULL
|
|
|
- AND $columnCollectionID != -1 AND $columnUploadedFileID != -1
|
|
|
- GROUP BY $columnCollectionID, $columnUploadedFileID HAVING count(*) > 1)
|
|
|
- AND ($columnCollectionID, $columnUploadedFileID,$columnGeneratedID) NOT IN
|
|
|
- (SELECT $columnCollectionID, $columnUploadedFileID, max($columnGeneratedID)
|
|
|
- from $table WHERE
|
|
|
- $columnCollectionID is not NULL AND $columnUploadedFileID is NOT NULL
|
|
|
- AND $columnCollectionID != -1 AND $columnUploadedFileID != -1 GROUP BY
|
|
|
- $columnCollectionID, $columnUploadedFileID HAVING count(*) > 1);
|
|
|
+ DELETE from $table where $columnCollectionID || '-' || $columnUploadedFileID IN
|
|
|
+ (SELECT $columnCollectionID || '-' || $columnUploadedFileID from $table WHERE
|
|
|
+ $columnCollectionID is not NULL AND $columnUploadedFileID is NOT NULL
|
|
|
+ AND $columnCollectionID != -1 AND $columnUploadedFileID != -1
|
|
|
+ GROUP BY ($columnCollectionID || '-' || $columnUploadedFileID) HAVING count(*) > 1)
|
|
|
+ AND ($columnCollectionID || '-' || $columnUploadedFileID || '-' || $columnGeneratedID) NOT IN
|
|
|
+ (SELECT $columnCollectionID || '-' || $columnUploadedFileID || '-' || max($columnGeneratedID)
|
|
|
+ from $table WHERE
|
|
|
+ $columnCollectionID is not NULL AND $columnUploadedFileID is NOT NULL
|
|
|
+ AND $columnCollectionID != -1 AND $columnUploadedFileID != -1 GROUP BY
|
|
|
+ ($columnCollectionID || '-' || $columnUploadedFileID) HAVING count(*) > 1);
|
|
|
''',
|
|
|
'''
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS cid_uid ON $table ($columnCollectionID, $columnUploadedFileID)
|