diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-06-13 02:42:26 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-06-13 02:42:26 +0100 |
commit | d8025ff93d66ec1ff7a6ffd90783e877e9eaafff (patch) | |
tree | 2ca815e4ffb42430acbe290858f859157356336e /db | |
parent | Create and drop PostgreSQL mock DBs as needed (diff) | |
download | mygrate-d8025ff93d66ec1ff7a6ffd90783e877e9eaafff.tar.bz2 mygrate-d8025ff93d66ec1ff7a6ffd90783e877e9eaafff.tar.xz mygrate-d8025ff93d66ec1ff7a6ffd90783e877e9eaafff.zip |
Support creating a PostgreSQL mock DB and filling it with a schema script
Diffstat (limited to 'db')
-rw-r--r-- | db/schema.sql | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/db/schema.sql b/db/schema.sql new file mode 100644 index 0000000..667fc48 --- /dev/null +++ b/db/schema.sql @@ -0,0 +1,187 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 12.7 +-- Dumped by pg_dump version 13.3 + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- +-- Name: mygrate; Type: SCHEMA; Schema: -; Owner: - +-- + +CREATE SCHEMA mygrate; + + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- +-- Name: source; Type: TABLE; Schema: mygrate; Owner: - +-- + +CREATE TABLE mygrate.source ( + source_id integer NOT NULL, + host text NOT NULL, + username text NOT NULL, + password text NOT NULL, + port integer NOT NULL, + filename text NOT NULL, + "position" bigint NOT NULL, + serverid integer NOT NULL, + table_schema name NOT NULL COLLATE pg_catalog."default" +); + + +-- +-- Name: source_id_seq; Type: SEQUENCE; Schema: mygrate; Owner: - +-- + +ALTER TABLE mygrate.source ALTER COLUMN source_id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME mygrate.source_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- +-- Name: table_columns; Type: TABLE; Schema: mygrate; Owner: - +-- + +CREATE TABLE mygrate.table_columns ( + column_id integer NOT NULL, + column_name name NOT NULL, + mysql_ordinal integer NOT NULL, + table_id integer NOT NULL +); + + +-- +-- Name: table_columns_column_id_seq1; Type: SEQUENCE; Schema: mygrate; Owner: - +-- + +ALTER TABLE mygrate.table_columns ALTER COLUMN column_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME mygrate.table_columns_column_id_seq1 + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- +-- Name: tables; Type: TABLE; Schema: mygrate; Owner: - +-- + +CREATE TABLE mygrate.tables ( + table_id integer NOT NULL, + table_name name NOT NULL, + source_id integer NOT NULL +); + + +-- +-- Name: tables_table_id_seq1; Type: SEQUENCE; Schema: mygrate; Owner: - +-- + +ALTER TABLE mygrate.tables ALTER COLUMN table_id ADD GENERATED ALWAYS AS IDENTITY ( + SEQUENCE NAME mygrate.tables_table_id_seq1 + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- +-- Name: table_columns pk_table_columns; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.table_columns + ADD CONSTRAINT pk_table_columns PRIMARY KEY (column_id); + + +-- +-- Name: tables pk_tables; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.tables + ADD CONSTRAINT pk_tables PRIMARY KEY (table_id); + + +-- +-- Name: source source_pkey; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.source + ADD CONSTRAINT source_pkey PRIMARY KEY (source_id); + + +-- +-- Name: source uni_schema; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.source + ADD CONSTRAINT uni_schema UNIQUE (table_schema); + + +-- +-- Name: tables uni_source_table; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.tables + ADD CONSTRAINT uni_source_table UNIQUE (source_id, table_name); + + +-- +-- Name: table_columns uni_table_columnname; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.table_columns + ADD CONSTRAINT uni_table_columnname UNIQUE (table_id, column_name); + + +-- +-- Name: table_columns uni_table_columnord; Type: CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.table_columns + ADD CONSTRAINT uni_table_columnord UNIQUE (table_id, mysql_ordinal); + + +-- +-- Name: table_columns fk_table_columns_table; Type: FK CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.table_columns + ADD CONSTRAINT fk_table_columns_table FOREIGN KEY (table_id) REFERENCES mygrate.tables(table_id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: tables fk_table_source; Type: FK CONSTRAINT; Schema: mygrate; Owner: - +-- + +ALTER TABLE ONLY mygrate.tables + ADD CONSTRAINT fk_table_source FOREIGN KEY (table_id) REFERENCES mygrate.source(source_id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- PostgreSQL database dump complete +-- + |