ory-am/hydra

View on GitHub
persistence/sql/migrations/20190400000009000000_oauth2.cockroach.up.sql

Summary

Maintainability
Test Coverage
CREATE TABLE IF NOT EXISTS hydra_oauth2_access (
    signature varchar(255) NOT NULL,
    request_id varchar(40) NOT NULL,
    requested_at timestamp NOT NULL DEFAULT now(),
    client_id varchar(255) NOT NULL,
    scope text NOT NULL,
    granted_scope text NOT NULL,
    form_data text NOT NULL,
    session_data text NOT NULL,
    subject varchar(255) NOT NULL DEFAULT '',
    active bool NOT NULL DEFAULT TRUE,
    requested_audience text NULL DEFAULT '',
    granted_audience text NULL DEFAULT '',
    challenge_id varchar(40) NULL,
    UNIQUE (request_id),
    INDEX (requested_at),
    INDEX (client_id),
    INDEX (challenge_id),
  CONSTRAINT "primary" PRIMARY KEY (signature ASC)
);
CREATE TABLE IF NOT EXISTS hydra_oauth2_refresh (
    signature varchar(255) NOT NULL,
    request_id varchar(40) NOT NULL,
    requested_at timestamp NOT NULL DEFAULT now(),
    client_id varchar(255) NOT NULL,
    scope text NOT NULL,
    granted_scope text NOT NULL,
    form_data text NOT NULL,
    session_data text NOT NULL,
    subject varchar(255) NOT NULL DEFAULT '',
    active bool NOT NULL DEFAULT TRUE,
    requested_audience text NULL DEFAULT '',
    granted_audience text NULL DEFAULT '',
    challenge_id varchar(40) NULL,
    UNIQUE (request_id),
    INDEX (client_id),
    INDEX (challenge_id),
  CONSTRAINT "primary" PRIMARY KEY (signature ASC)
);
CREATE TABLE IF NOT EXISTS hydra_oauth2_code (
    signature varchar(255) NOT NULL,
    request_id varchar(40) NOT NULL,
    requested_at timestamp NOT NULL DEFAULT now(),
    client_id varchar(255) NOT NULL,
    scope text NOT NULL,
    granted_scope text NOT NULL,
    form_data text NOT NULL,
    session_data text NOT NULL,
    subject varchar(255) NOT NULL DEFAULT '',
    active bool NOT NULL DEFAULT TRUE,
    requested_audience text NULL DEFAULT '',
    granted_audience text NULL DEFAULT '',
    challenge_id varchar(40) NULL,
    INDEX (client_id),
    INDEX (challenge_id),
  CONSTRAINT "primary" PRIMARY KEY (signature ASC)
);
CREATE TABLE IF NOT EXISTS hydra_oauth2_oidc (
    signature varchar(255) NOT NULL,
    request_id varchar(40) NOT NULL,
    requested_at timestamp NOT NULL DEFAULT now(),
    client_id varchar(255) NOT NULL,
    scope text NOT NULL,
    granted_scope text NOT NULL,
    form_data text NOT NULL,
    session_data text NOT NULL,
    subject varchar(255) NOT NULL DEFAULT '',
    active bool NOT NULL DEFAULT TRUE,
    requested_audience text NULL DEFAULT '',
    granted_audience text NULL DEFAULT '',
    challenge_id varchar(40) NULL,
    INDEX (client_id),
    INDEX (challenge_id),
  CONSTRAINT "primary" PRIMARY KEY (signature ASC)
);
CREATE TABLE IF NOT EXISTS hydra_oauth2_pkce (
    signature varchar(255) NOT NULL,
    request_id varchar(40) NOT NULL,
    requested_at timestamp NOT NULL DEFAULT now(),
    client_id varchar(255) NOT NULL,
    scope text NOT NULL,
    granted_scope text NOT NULL,
    form_data text NOT NULL,
    session_data text NOT NULL,
    subject varchar(255) NOT NULL,
    active bool NOT NULL DEFAULT TRUE,
    requested_audience TEXT NULL DEFAULT '',
    granted_audience TEXT NULL DEFAULT '',
    challenge_id varchar(40) NULL,
    INDEX (client_id),
    INDEX (challenge_id),
  CONSTRAINT "primary" PRIMARY KEY (signature ASC)
);

ALTER TABLE hydra_oauth2_access ADD CONSTRAINT hydra_oauth2_access_client_id_fk FOREIGN KEY (client_id) REFERENCES hydra_client(id) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_refresh ADD CONSTRAINT hydra_oauth2_refresh_client_id_fk FOREIGN KEY (client_id) REFERENCES hydra_client(id) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_code ADD CONSTRAINT hydra_oauth2_code_client_id_fk FOREIGN KEY (client_id) REFERENCES hydra_client(id) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_oidc ADD CONSTRAINT hydra_oauth2_oidc_client_id_fk FOREIGN KEY (client_id) REFERENCES hydra_client(id) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_pkce ADD CONSTRAINT hydra_oauth2_pkce_client_id_fk FOREIGN KEY (client_id) REFERENCES hydra_client(id) ON DELETE CASCADE;

ALTER TABLE hydra_oauth2_access ADD CONSTRAINT hydra_oauth2_access_challenge_id_fk FOREIGN KEY (challenge_id) REFERENCES hydra_oauth2_consent_request_handled(challenge) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_refresh ADD CONSTRAINT hydra_oauth2_refresh_challenge_id_fk FOREIGN KEY (challenge_id) REFERENCES hydra_oauth2_consent_request_handled(challenge) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_code ADD CONSTRAINT hydra_oauth2_code_challenge_id_fk FOREIGN KEY (challenge_id) REFERENCES hydra_oauth2_consent_request_handled(challenge) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_oidc ADD CONSTRAINT hydra_oauth2_oidc_challenge_id_fk FOREIGN KEY (challenge_id) REFERENCES hydra_oauth2_consent_request_handled(challenge) ON DELETE CASCADE;
ALTER TABLE hydra_oauth2_pkce ADD CONSTRAINT hydra_oauth2_pkce_challenge_id_fk FOREIGN KEY (challenge_id) REFERENCES hydra_oauth2_consent_request_handled(challenge) ON DELETE CASCADE;