SQL database (Postgres, MySQL)
Setup
CREATE USER terra_user WITH PASSWORD 'your_password';
GRANT CONNECT ON DATABASE your_database_name TO terra_user;
CREATE SCHEMA IF NOT EXISTS terra;
GRANT USAGE ON SCHEMA terra TO terra_user;
GRANT CREATE ON SCHEMA terra TO terra_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA terra
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO terra_user;CREATE USER 'terra_user'@'%' IDENTIFIED BY 'your_password';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE ON your_database_name.* TO 'terra_user'@'%';Data Structure
CREATE TABLE terra.terra_users (
user_id VARCHAR(36) PRIMARY KEY,
reference_id TEXT DEFAULT NULL,
created_at TEXT NOT NULL,
granted_scopes TEXT DEFAULT NULL,
provider TEXT NOT NULL
);
CREATE TABLE terra.terra_data_payloads (
payload_id VARCHAR(255) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
data_type TEXT NOT NULL,
created_at TEXT NOT NULL,
payload_url TEXT NOT NULL,
start_time TEXT DEFAULT NULL,
end_time TEXT DEFAULT NULL,
FOREIGN KEY (user_id) REFERENCES terra.terra_users(user_id)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE terra.terra_other_payloads (
user_id VARCHAR(36) NOT NULL,
payload_type TEXT DEFAULT NULL,
created_at TEXT NOT NULL,
payload_url TEXT NOT NULL,
FOREIGN KEY (user_id) REFERENCES terra.terra_users(user_id)
ON DELETE CASCADE ON UPDATE CASCADE
);Last updated
Was this helpful?