Skip to content

Commit a4bab65

Browse files
CodingAnarchyclaude
andcommitted
fix: Separate MySQL ALTER statements in migration 011 for compatibility
MySQL requires individual ALTER statements rather than comma-separated column additions when using prepared statements. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent c046fff commit a4bab65

File tree

1 file changed

+24
-26
lines changed

1 file changed

+24
-26
lines changed

src/migrations/011_add_encryption.mysql.sql

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -40,34 +40,32 @@ CREATE TABLE IF NOT EXISTS hammerwork_encryption_keys (
4040
);
4141

4242
-- Add encryption fields to main jobs table
43-
ALTER TABLE hammerwork_jobs
44-
ADD COLUMN is_encrypted BOOLEAN NOT NULL DEFAULT false,
45-
ADD COLUMN encryption_key_id VARCHAR(255), -- References hammerwork_encryption_keys.key_id
46-
ADD COLUMN encryption_algorithm VARCHAR(50), -- Algorithm used for this specific job
47-
ADD COLUMN encrypted_payload LONGBLOB, -- Encrypted payload data when is_encrypted = true
48-
ADD COLUMN encryption_nonce BLOB, -- Nonce/IV used for encryption
49-
ADD COLUMN encryption_tag BLOB, -- Authentication tag for AEAD ciphers
50-
ADD COLUMN encryption_metadata JSON, -- Metadata about encryption (compression, PII fields, etc.)
51-
ADD COLUMN payload_hash VARCHAR(255), -- Hash of original payload for integrity verification
52-
ADD COLUMN pii_fields JSON, -- Array of field names containing PII
53-
ADD COLUMN retention_policy VARCHAR(50), -- Retention policy for encrypted data
54-
ADD COLUMN retention_delete_at TIMESTAMP(6), -- When to delete encrypted data based on retention policy
55-
ADD COLUMN encrypted_at TIMESTAMP(6); -- When the payload was encrypted
43+
ALTER TABLE hammerwork_jobs ADD COLUMN is_encrypted BOOLEAN NOT NULL DEFAULT false;
44+
ALTER TABLE hammerwork_jobs ADD COLUMN encryption_key_id VARCHAR(255);
45+
ALTER TABLE hammerwork_jobs ADD COLUMN encryption_algorithm VARCHAR(50);
46+
ALTER TABLE hammerwork_jobs ADD COLUMN encrypted_payload LONGBLOB;
47+
ALTER TABLE hammerwork_jobs ADD COLUMN encryption_nonce BLOB;
48+
ALTER TABLE hammerwork_jobs ADD COLUMN encryption_tag BLOB;
49+
ALTER TABLE hammerwork_jobs ADD COLUMN encryption_metadata JSON;
50+
ALTER TABLE hammerwork_jobs ADD COLUMN payload_hash VARCHAR(255);
51+
ALTER TABLE hammerwork_jobs ADD COLUMN pii_fields JSON;
52+
ALTER TABLE hammerwork_jobs ADD COLUMN retention_policy VARCHAR(50);
53+
ALTER TABLE hammerwork_jobs ADD COLUMN retention_delete_at TIMESTAMP(6);
54+
ALTER TABLE hammerwork_jobs ADD COLUMN encrypted_at TIMESTAMP(6);
5655

5756
-- Add encryption fields to archive table
58-
ALTER TABLE hammerwork_jobs_archive
59-
ADD COLUMN is_encrypted BOOLEAN NOT NULL DEFAULT false,
60-
ADD COLUMN encryption_key_id VARCHAR(255),
61-
ADD COLUMN encryption_algorithm VARCHAR(50),
62-
ADD COLUMN encrypted_payload LONGBLOB,
63-
ADD COLUMN encryption_nonce BLOB,
64-
ADD COLUMN encryption_tag BLOB,
65-
ADD COLUMN encryption_metadata JSON,
66-
ADD COLUMN payload_hash VARCHAR(255),
67-
ADD COLUMN pii_fields JSON,
68-
ADD COLUMN retention_policy VARCHAR(50),
69-
ADD COLUMN retention_delete_at TIMESTAMP(6),
70-
ADD COLUMN encrypted_at TIMESTAMP(6);
57+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN is_encrypted BOOLEAN NOT NULL DEFAULT false;
58+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encryption_key_id VARCHAR(255);
59+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encryption_algorithm VARCHAR(50);
60+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encrypted_payload LONGBLOB;
61+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encryption_nonce BLOB;
62+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encryption_tag BLOB;
63+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encryption_metadata JSON;
64+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN payload_hash VARCHAR(255);
65+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN pii_fields JSON;
66+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN retention_policy VARCHAR(50);
67+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN retention_delete_at TIMESTAMP(6);
68+
ALTER TABLE hammerwork_jobs_archive ADD COLUMN encrypted_at TIMESTAMP(6);
7169

7270
-- Create indexes for encryption keys table
7371
CREATE INDEX idx_hammerwork_encryption_keys_key_id

0 commit comments

Comments
 (0)