X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3298dd77cd065e9fab95177fe5480d4ec2524038..f4ca9ad94a6bb006d1f3c7ba207837f1736d1247:/services/api/db/structure.sql diff --git a/services/api/db/structure.sql b/services/api/db/structure.sql index e1b9702a0b..e482e6e607 100644 --- a/services/api/db/structure.sql +++ b/services/api/db/structure.sql @@ -19,7 +19,7 @@ CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: - -- -COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; +-- COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; SET search_path = public, pg_catalog; @@ -46,7 +46,8 @@ CREATE TABLE api_client_authorizations ( default_owner_uuid character varying(255), scopes text DEFAULT '--- - all -'::text NOT NULL +'::text NOT NULL, + uuid character varying(255) NOT NULL ); @@ -159,17 +160,16 @@ CREATE TABLE collections ( modified_by_user_uuid character varying(255), modified_at timestamp without time zone, portable_data_hash character varying(255), - redundancy integer, - redundancy_confirmed_by_client_uuid character varying(255), - redundancy_confirmed_at timestamp without time zone, - redundancy_confirmed_as integer, + replication_desired integer, + replication_confirmed_at timestamp without time zone, + replication_confirmed integer, updated_at timestamp without time zone NOT NULL, uuid character varying(255), manifest_text text, name character varying(255), description character varying(524288), properties text, - expires_at date, + expires_at timestamp without time zone, file_names character varying(8192) ); @@ -260,6 +260,108 @@ CREATE SEQUENCE commits_id_seq ALTER SEQUENCE commits_id_seq OWNED BY commits.id; +-- +-- Name: container_requests; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE container_requests ( + id integer NOT NULL, + uuid character varying(255), + owner_uuid character varying(255), + created_at timestamp without time zone NOT NULL, + modified_at timestamp without time zone, + modified_by_client_uuid character varying(255), + modified_by_user_uuid character varying(255), + name character varying(255), + description text, + properties text, + state character varying(255), + requesting_container_uuid character varying(255), + container_uuid character varying(255), + container_count_max integer, + mounts text, + runtime_constraints text, + container_image character varying(255), + environment text, + cwd character varying(255), + command text, + output_path character varying(255), + priority integer, + expires_at timestamp without time zone, + filters text, + updated_at timestamp without time zone NOT NULL +); + + +-- +-- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE container_requests_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE container_requests_id_seq OWNED BY container_requests.id; + + +-- +-- Name: containers; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE containers ( + id integer NOT NULL, + uuid character varying(255), + owner_uuid character varying(255), + created_at timestamp without time zone NOT NULL, + modified_at timestamp without time zone, + modified_by_client_uuid character varying(255), + modified_by_user_uuid character varying(255), + state character varying(255), + started_at timestamp without time zone, + finished_at timestamp without time zone, + log character varying(255), + environment text, + cwd character varying(255), + command text, + output_path character varying(255), + mounts text, + runtime_constraints text, + output character varying(255), + container_image character varying(255), + progress double precision, + priority integer, + updated_at timestamp without time zone NOT NULL, + exit_code integer +); + + +-- +-- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE containers_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE containers_id_seq OWNED BY containers.id; + + -- -- Name: groups; Type: TABLE; Schema: public; Owner: -; Tablespace: -- @@ -519,7 +621,8 @@ CREATE TABLE keep_services ( service_ssl_flag boolean, service_type character varying(255), created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone NOT NULL + updated_at timestamp without time zone NOT NULL, + read_only boolean DEFAULT false NOT NULL ); @@ -761,8 +864,6 @@ CREATE TABLE repositories ( modified_by_user_uuid character varying(255), modified_at timestamp without time zone, name character varying(255), - fetch_url character varying(255), - push_url character varying(255), created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL ); @@ -890,7 +991,8 @@ CREATE TABLE users ( prefs text, updated_at timestamp without time zone NOT NULL, default_owner_uuid character varying(255), - is_active boolean DEFAULT false + is_active boolean DEFAULT false, + username character varying(255) ); @@ -991,6 +1093,20 @@ ALTER TABLE ONLY commit_ancestors ALTER COLUMN id SET DEFAULT nextval('commit_an ALTER TABLE ONLY commits ALTER COLUMN id SET DEFAULT nextval('commits_id_seq'::regclass); +-- +-- Name: id; Type: DEFAULT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY container_requests ALTER COLUMN id SET DEFAULT nextval('container_requests_id_seq'::regclass); + + +-- +-- Name: id; Type: DEFAULT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY containers ALTER COLUMN id SET DEFAULT nextval('containers_id_seq'::regclass); + + -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- @@ -1151,6 +1267,22 @@ ALTER TABLE ONLY commits ADD CONSTRAINT commits_pkey PRIMARY KEY (id); +-- +-- Name: container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY container_requests + ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id); + + +-- +-- Name: containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY containers + ADD CONSTRAINT containers_pkey PRIMARY KEY (id); + + -- -- Name: groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- @@ -1283,7 +1415,7 @@ ALTER TABLE ONLY virtual_machines -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX api_client_authorizations_search_index ON api_client_authorizations USING btree (api_token, created_by_ip_address, last_used_by_ip_address, default_owner_uuid); +CREATE INDEX api_client_authorizations_search_index ON api_client_authorizations USING btree (api_token, created_by_ip_address, last_used_by_ip_address, default_owner_uuid, uuid); -- @@ -1304,14 +1436,49 @@ CREATE INDEX authorized_keys_search_index ON authorized_keys USING btree (uuid, -- Name: collection_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE UNIQUE INDEX collection_owner_uuid_name_unique ON collections USING btree (owner_uuid, name); +CREATE UNIQUE INDEX collection_owner_uuid_name_unique ON collections USING btree (owner_uuid, name) WHERE (expires_at IS NULL); + + +-- +-- Name: collections_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX collections_full_text_search_idx ON collections USING gin (to_tsvector('english'::regconfig, (((((((((((((((((' '::text || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(portable_data_hash, ''::character varying))::text) || ' '::text) || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || COALESCE(properties, ''::text)) || ' '::text) || (COALESCE(file_names, ''::character varying))::text))); -- -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX collections_search_index ON collections USING btree (owner_uuid, modified_by_client_uuid, modified_by_user_uuid, portable_data_hash, redundancy_confirmed_by_client_uuid, uuid, name, file_names); +CREATE INDEX collections_search_index ON collections USING btree (owner_uuid, modified_by_client_uuid, modified_by_user_uuid, portable_data_hash, uuid, name); + + +-- +-- Name: container_requests_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX container_requests_full_text_search_idx ON container_requests USING gin (to_tsvector('english'::regconfig, (((((((((((((((((((((((((((((((((((' '::text || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(description, ''::text)) || ' '::text) || COALESCE(properties, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(requesting_container_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(container_uuid, ''::character varying))::text) || ' '::text) || COALESCE(mounts, ''::text)) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(container_image, ''::character varying))::text) || ' '::text) || COALESCE(environment, ''::text)) || ' '::text) || (COALESCE(cwd, ''::character varying))::text) || ' '::text) || COALESCE(command, ''::text)) || ' '::text) || (COALESCE(output_path, ''::character varying))::text) || ' '::text) || COALESCE(filters, ''::text)))); + + +-- +-- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX container_requests_search_index ON container_requests USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, state, requesting_container_uuid, container_uuid, container_image, cwd, output_path); + + +-- +-- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX containers_search_index ON containers USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, state, log, cwd, output_path, output, container_image); + + +-- +-- Name: groups_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX groups_full_text_search_idx ON groups USING gin (to_tsvector('english'::regconfig, (((((((((((((' '::text || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(group_class, ''::character varying))::text))); -- @@ -1363,6 +1530,13 @@ CREATE INDEX index_api_client_authorizations_on_expires_at ON api_client_authori CREATE INDEX index_api_client_authorizations_on_user_id ON api_client_authorizations USING btree (user_id); +-- +-- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON api_client_authorizations USING btree (uuid); + + -- -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -1454,6 +1628,34 @@ CREATE UNIQUE INDEX index_commit_ancestors_on_descendant_and_ancestor ON commit_ CREATE UNIQUE INDEX index_commits_on_repository_name_and_sha1 ON commits USING btree (repository_name, sha1); +-- +-- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX index_container_requests_on_owner_uuid ON container_requests USING btree (owner_uuid); + + +-- +-- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX index_container_requests_on_uuid ON container_requests USING btree (uuid); + + +-- +-- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX index_containers_on_owner_uuid ON containers USING btree (owner_uuid); + + +-- +-- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX index_containers_on_uuid ON containers USING btree (uuid); + + -- -- Name: index_groups_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -1951,6 +2153,13 @@ CREATE INDEX index_users_on_modified_at ON users USING btree (modified_at); CREATE INDEX index_users_on_owner_uuid ON users USING btree (owner_uuid); +-- +-- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX index_users_on_username ON users USING btree (username); + + -- -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -1986,6 +2195,13 @@ CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON virtual_machines USING btr CREATE INDEX job_tasks_search_index ON job_tasks USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, job_uuid, created_by_job_task_uuid); +-- +-- Name: jobs_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX jobs_full_text_search_idx ON jobs USING gin (to_tsvector('english'::regconfig, (((((((((((((((((((((((((((((((((((((((((' '::text || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(submit_id, ''::character varying))::text) || ' '::text) || (COALESCE(script, ''::character varying))::text) || ' '::text) || (COALESCE(script_version, ''::character varying))::text) || ' '::text) || COALESCE(script_parameters, ''::text)) || ' '::text) || (COALESCE(cancelled_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(cancelled_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(output, ''::character varying))::text) || ' '::text) || (COALESCE(is_locked_by_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(log, ''::character varying))::text) || ' '::text) || COALESCE(tasks_summary, ''::text)) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(repository, ''::character varying))::text) || ' '::text) || (COALESCE(supplied_script_version, ''::character varying))::text) || ' '::text) || (COALESCE(docker_image_locator, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(arvados_sdk_version, ''::character varying))::text))); + + -- -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -2035,6 +2251,13 @@ CREATE INDEX logs_search_index ON logs USING btree (uuid, owner_uuid, modified_b CREATE INDEX nodes_search_index ON nodes USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname, domain, ip_address, job_uuid); +-- +-- Name: pipeline_instances_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX pipeline_instances_full_text_search_idx ON pipeline_instances USING gin (to_tsvector('english'::regconfig, (((((((((((((((((((((' '::text || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(pipeline_template_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || COALESCE(properties, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || COALESCE(components_summary, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text))); + + -- -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -2049,6 +2272,13 @@ CREATE INDEX pipeline_instances_search_index ON pipeline_instances USING btree ( CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON pipeline_templates USING btree (owner_uuid, name); +-- +-- Name: pipeline_templates_full_text_search_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX pipeline_templates_full_text_search_idx ON pipeline_templates USING gin (to_tsvector('english'::regconfig, (((((((((((((' '::text || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text))); + + -- -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -2060,7 +2290,7 @@ CREATE INDEX pipeline_templates_search_index ON pipeline_templates USING btree ( -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX repositories_search_index ON repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, fetch_url, push_url); +CREATE INDEX repositories_search_index ON repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name); -- @@ -2088,7 +2318,7 @@ CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (v -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX users_search_index ON users USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, email, first_name, last_name, identity_url, default_owner_uuid); +CREATE INDEX users_search_index ON users USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, email, first_name, last_name, identity_url, default_owner_uuid, username); -- @@ -2316,4 +2546,38 @@ INSERT INTO schema_migrations (version) VALUES ('20141208174653'); INSERT INTO schema_migrations (version) VALUES ('20141208185217'); -INSERT INTO schema_migrations (version) VALUES ('20150122175935'); \ No newline at end of file +INSERT INTO schema_migrations (version) VALUES ('20150122175935'); + +INSERT INTO schema_migrations (version) VALUES ('20150123142953'); + +INSERT INTO schema_migrations (version) VALUES ('20150203180223'); + +INSERT INTO schema_migrations (version) VALUES ('20150206210804'); + +INSERT INTO schema_migrations (version) VALUES ('20150206230342'); + +INSERT INTO schema_migrations (version) VALUES ('20150216193428'); + +INSERT INTO schema_migrations (version) VALUES ('20150303210106'); + +INSERT INTO schema_migrations (version) VALUES ('20150312151136'); + +INSERT INTO schema_migrations (version) VALUES ('20150317132720'); + +INSERT INTO schema_migrations (version) VALUES ('20150324152204'); + +INSERT INTO schema_migrations (version) VALUES ('20150423145759'); + +INSERT INTO schema_migrations (version) VALUES ('20150512193020'); + +INSERT INTO schema_migrations (version) VALUES ('20150526180251'); + +INSERT INTO schema_migrations (version) VALUES ('20151202151426'); + +INSERT INTO schema_migrations (version) VALUES ('20151215134304'); + +INSERT INTO schema_migrations (version) VALUES ('20151229214707'); + +INSERT INTO schema_migrations (version) VALUES ('20160208210629'); + +INSERT INTO schema_migrations (version) VALUES ('20160209155729'); \ No newline at end of file