Eerste commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
-- MijnBesluit - kleine versie van een foto, om in lijstjes te tonen
|
||||
--
|
||||
-- Een profielfoto op de kaart van een persoon is een plaatje van hooguit veertig pixels. De
|
||||
-- foto zelf is al gauw een paar honderd kilobyte, en tien personen in een lijst zijn dan een
|
||||
-- paar megabyte - over een mobiele verbinding merk je dat meteen.
|
||||
--
|
||||
-- Daarom slaan we bij een foto meteen een kleine versie op. Die is versleuteld met dezelfde
|
||||
-- sleutel als de foto zelf, dus er staat niets leesbaars in de database:
|
||||
--
|
||||
-- thumbnail : de kleine versie, versleuteld
|
||||
-- thumbnail_nonce : het eenmalige getal van die versleuteling
|
||||
-- thumbnail_tag : het echtheidskenmerk van die versleuteling
|
||||
--
|
||||
-- Alle drie leeg betekent: er is geen kleine versie. Dat is geen fout - bij een document of een
|
||||
-- video is er niets te verkleinen, en bij foto's van voor deze wijziging is hij er nog niet.
|
||||
-- Het scherm valt dan terug op de beginletters, precies zoals het zonder foto ook doet.
|
||||
--
|
||||
-- Draaien met:
|
||||
-- mysql -u root -p mijnbesluit < db\08_thumbnails.sql
|
||||
--
|
||||
-- Opnieuw draaien mag: er gebeurt dan niets.
|
||||
|
||||
USE `mijnbesluit`;
|
||||
|
||||
-- ---------------------------------------------------------------- thumbnail
|
||||
SET @bestaat := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail');
|
||||
|
||||
SET @sql := IF(@bestaat = 0,
|
||||
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail` BLOB NULL',
|
||||
'SELECT "thumbnail bestaat al" AS melding');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- ---------------------------------------------------------------- thumbnail_nonce
|
||||
SET @bestaat := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail_nonce');
|
||||
|
||||
SET @sql := IF(@bestaat = 0,
|
||||
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail_nonce` VARBINARY(12) NULL',
|
||||
'SELECT "thumbnail_nonce bestaat al" AS melding');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- ---------------------------------------------------------------- thumbnail_tag
|
||||
SET @bestaat := (
|
||||
SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'vault_files' AND COLUMN_NAME = 'thumbnail_tag');
|
||||
|
||||
SET @sql := IF(@bestaat = 0,
|
||||
'ALTER TABLE `vault_files` ADD COLUMN `thumbnail_tag` VARBINARY(16) NULL',
|
||||
'SELECT "thumbnail_tag bestaat al" AS melding');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
SELECT 'Klaar. De kleine versies worden vanaf nu bij het opslaan van een foto meegemaakt.' AS melding;
|
||||
Reference in New Issue
Block a user