influxdb/sqlite/migrations/0007_migrate_replications_a...

43 lines
1.5 KiB
SQL

-- Adds the "NOT NULL" to `remote_bucket_id` and removes `remote_bucket_name`.
ALTER TABLE replications RENAME TO _replications_old;
CREATE TABLE replications
(
id VARCHAR(16) NOT NULL PRIMARY KEY,
org_id VARCHAR(16) NOT NULL,
name TEXT NOT NULL,
description TEXT,
remote_id VARCHAR(16) NOT NULL,
local_bucket_id VARCHAR(16) NOT NULL,
remote_bucket_id VARCHAR(16) NOT NULL,
max_queue_size_bytes INTEGER NOT NULL,
max_age_seconds INTEGER NOT NULL,
latest_response_code INTEGER,
latest_error_message TEXT,
drop_non_retryable_data BOOLEAN NOT NULL,
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL,
CONSTRAINT replications_uniq_orgid_name UNIQUE (org_id, name),
FOREIGN KEY (remote_id) REFERENCES remotes (id)
);
INSERT INTO replications SELECT
id,
org_id,
name,
description,
remote_id,
local_bucket_id,
remote_bucket_id,
max_queue_size_bytes,
max_age_seconds,
latest_response_code,
latest_error_message,
drop_non_retryable_data,
created_at,updated_at FROM _replications_old WHERE remote_bucket_name = '';
DROP TABLE _replications_old;
-- Create indexes on lookup patterns we expect to be common
CREATE INDEX idx_local_bucket_id_per_org ON replications (org_id, local_bucket_id);
CREATE INDEX idx_remote_id_per_org ON replications (org_id, remote_id);