mirror of
https://github.com/ente-io/ente.git
synced 2025-04-30 19:42:33 +00:00
30 lines
953 B
SQL
30 lines
953 B
SQL
CREATE TABLE IF NOT EXISTS usage(
|
|
user_id INTEGER NOT NULL,
|
|
storage_consumed BIGINT NOT NULL,
|
|
|
|
CONSTRAINT fk_usage_user_id
|
|
FOREIGN KEY(user_id)
|
|
REFERENCES users(user_id)
|
|
ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS usage_user_id_index ON usage(user_id);
|
|
|
|
INSERT INTO usage(user_id,storage_consumed)
|
|
SELECT user_id, COALESCE(total_file_size+total_thumbnail_size,0) FROM
|
|
users,
|
|
LATERAL (
|
|
SELECT SUM(size) AS total_thumbnail_size
|
|
FROM thumbnail_object_keys
|
|
LEFT JOIN files ON files.file_id = thumbnail_object_keys.file_id
|
|
WHERE
|
|
owner_id = users.user_id
|
|
) query_1,
|
|
LATERAL (
|
|
SELECT SUM(size) AS total_file_size
|
|
FROM file_object_keys
|
|
LEFT JOIN files ON files.file_id = file_object_keys.file_id
|
|
WHERE
|
|
owner_id = users.user_id
|
|
) query_2
|