Simplify database migrations
This commit is contained in:
parent
46d5b06bfc
commit
e6809c95db
106 changed files with 4661 additions and 6814 deletions
|
|
@ -1,58 +1,41 @@
|
|||
// Copyright 2025 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
import type { Database } from '@signalapp/sqlcipher';
|
||||
import type { LoggerType } from '../../types/Logging';
|
||||
import { sql } from '../util';
|
||||
|
||||
export const version = 1350;
|
||||
export default function updateToSchemaVersion1350(db: Database): void {
|
||||
const [query] = sql`
|
||||
CREATE TABLE notificationProfiles(
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
|
||||
export function updateToSchemaVersion1350(
|
||||
currentVersion: number,
|
||||
db: Database,
|
||||
logger: LoggerType
|
||||
): void {
|
||||
if (currentVersion >= 1350) {
|
||||
return;
|
||||
}
|
||||
name TEXT NOT NULL,
|
||||
emoji TEXT,
|
||||
/* A numeric representation of a color, like 0xAARRGGBB */
|
||||
color INTEGER NOT NULL,
|
||||
|
||||
db.transaction(() => {
|
||||
const [query] = sql`
|
||||
CREATE TABLE notificationProfiles(
|
||||
id TEXT PRIMARY KEY NOT NULL,
|
||||
|
||||
name TEXT NOT NULL,
|
||||
emoji TEXT,
|
||||
/* A numeric representation of a color, like 0xAARRGGBB */
|
||||
color INTEGER NOT NULL,
|
||||
|
||||
createdAtMs INTEGER NOT NULL,
|
||||
|
||||
allowAllCalls INTEGER NOT NULL,
|
||||
allowAllMentions INTEGER NOT NULL,
|
||||
createdAtMs INTEGER NOT NULL,
|
||||
|
||||
/* A JSON array of conversationId strings */
|
||||
allowedMembersJson TEXT NOT NULL,
|
||||
scheduleEnabled INTEGER NOT NULL,
|
||||
|
||||
/* 24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345) */
|
||||
scheduleStartTime INTEGER,
|
||||
scheduleEndTime INTEGER,
|
||||
allowAllCalls INTEGER NOT NULL,
|
||||
allowAllMentions INTEGER NOT NULL,
|
||||
|
||||
/* A JSON object with true/false for each of the numbers in the Protobuf enum */
|
||||
scheduleDaysEnabledJson TEXT,
|
||||
deletedAtTimestampMs INTEGER,
|
||||
/* A JSON array of conversationId strings */
|
||||
allowedMembersJson TEXT NOT NULL,
|
||||
scheduleEnabled INTEGER NOT NULL,
|
||||
|
||||
storageID TEXT,
|
||||
storageVersion INTEGER,
|
||||
storageUnknownFields BLOB,
|
||||
storageNeedsSync INTEGER NOT NULL DEFAULT 0
|
||||
) STRICT;
|
||||
`;
|
||||
/* 24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345) */
|
||||
scheduleStartTime INTEGER,
|
||||
scheduleEndTime INTEGER,
|
||||
|
||||
db.exec(query);
|
||||
/* A JSON object with true/false for each of the numbers in the Protobuf enum */
|
||||
scheduleDaysEnabledJson TEXT,
|
||||
deletedAtTimestampMs INTEGER,
|
||||
|
||||
db.pragma('user_version = 1350');
|
||||
})();
|
||||
storageID TEXT,
|
||||
storageVersion INTEGER,
|
||||
storageUnknownFields BLOB,
|
||||
storageNeedsSync INTEGER NOT NULL DEFAULT 0
|
||||
) STRICT;
|
||||
`;
|
||||
|
||||
logger.info('updateToSchemaVersion1350: success!');
|
||||
db.exec(query);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue