2025-01-16 13:34:35 -08:00
|
|
|
// Copyright 2025 Signal Messenger, LLC
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
2025-03-12 14:45:54 -07:00
|
|
|
import type { Database } from '@signalapp/sqlcipher';
|
2025-09-16 17:39:03 -07:00
|
|
|
import { sql } from '../util.js';
|
2025-01-16 13:34:35 -08:00
|
|
|
|
2025-08-06 10:32:08 -07:00
|
|
|
export default function updateToSchemaVersion1270(db: Database): void {
|
|
|
|
const [query] = sql`
|
|
|
|
ALTER TABLE messages
|
|
|
|
ADD COLUMN timestamp INTEGER;
|
|
|
|
ALTER TABLE messages
|
|
|
|
ADD COLUMN received_at_ms INTEGER;
|
|
|
|
ALTER TABLE messages
|
|
|
|
ADD COLUMN unidentifiedDeliveryReceived INTEGER;
|
|
|
|
ALTER TABLE messages
|
|
|
|
ADD COLUMN serverTimestamp INTEGER;
|
|
|
|
|
|
|
|
ALTER TABLE messages
|
|
|
|
RENAME COLUMN source TO legacySource;
|
|
|
|
ALTER TABLE messages
|
|
|
|
ADD COLUMN source TEXT;
|
|
|
|
|
|
|
|
UPDATE messages SET
|
|
|
|
timestamp = json_extract(json, '$.timestamp'),
|
|
|
|
received_at_ms = json_extract(json, '$.received_at_ms'),
|
|
|
|
unidentifiedDeliveryReceived =
|
|
|
|
json_extract(json, '$.unidentifiedDeliveryReceived'),
|
|
|
|
serverTimestamp =
|
|
|
|
json_extract(json, '$.serverTimestamp'),
|
|
|
|
source = IFNULL(json_extract(json, '$.source'), '+' || legacySource);
|
|
|
|
|
|
|
|
ALTER TABLE messages
|
|
|
|
DROP COLUMN legacySource;
|
|
|
|
`;
|
|
|
|
|
|
|
|
db.exec(query);
|
2025-01-16 13:34:35 -08:00
|
|
|
}
|