From 80dc426da8a0d7c38219a9cedda3c6ba8d557102 Mon Sep 17 00:00:00 2001 From: Andrew Buss Date: Mon, 4 May 2015 17:10:01 -0700 Subject: [PATCH] Updated schema reflecting code changes since last change --- Makefile | 6 +- db_schema.sql | 623 ++++++++++++++++++++++++++++++++++++- schema.sql | 971 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1590 insertions(+), 10 deletions(-) create mode 100644 schema.sql diff --git a/Makefile b/Makefile index 1a9a9a5..f41e2be 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,12 @@ PNGS = use_cases_diagram.png schema.png all: $(PNGS) schema.png: - sqlt-diagram --color -c 2 -t png -o schema.png --from SQLite db_schema.sql --title "Flashy" + sqlt-diagram --color -c 3 -t png -o schema.png --gutter 60 --from PostgreSQL db_schema.sql --title "Flashy" %.png: %.dot dot -Tpng -o $@ $< clean: - rm $(PNGS) + rm -f $(PNGS) + +again: clean all diff --git a/db_schema.sql b/db_schema.sql index c4ed2d9..9f79f8f 100644 --- a/db_schema.sql +++ b/db_schema.sql @@ -1,8 +1,615 @@ -CREATE TABLE "flashcards_userflashcardreview" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "when" datetime NOT NULL, "blanked_word" varchar(8) NOT NULL, "response" varchar(255), "correct" bool, "user_flashcard_id" integer NOT NULL REFERENCES "flashcards_userflashcard" ("id")); -CREATE TABLE "flashcards_userflashcard" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "pulled" datetime, "unpulled" datetime, "flashcard_id" integer NOT NULL REFERENCES "flashcards_flashcard" ("id"), "mask_id" integer NOT NULL REFERENCES "flashcards_flashcardmask" ("id"), "user_id" integer NOT NULL REFERENCES "auth_user" ("id")); -CREATE TABLE "flashcards_flashcardmask" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "ranges" varchar(255) NOT NULL); -CREATE TABLE "flashcards_class" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "department" varchar(50) NOT NULL, "course_num" integer NOT NULL, "name" varchar(50) NOT NULL, "professor" varchar(50) NOT NULL, "quarter" varchar(4) NOT NULL); -CREATE TABLE "django_session" ("session_key" varchar(40) NOT NULL PRIMARY KEY, "session_data" text NOT NULL, "expire_date" datetime NOT NULL); -CREATE TABLE "flashcards_class_members" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "class_id" integer NOT NULL REFERENCES "flashcards_class" ("id"), "user_id" integer NOT NULL REFERENCES "auth_user" ("id"), UNIQUE ("class_id", "user_id")); -CREATE TABLE "flashcards_flashcard" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "text" varchar(255) NOT NULL, "pushed" datetime NOT NULL, "material_date" datetime NOT NULL, "hidden" varchar(255), "associated_class_id" integer NOT NULL REFERENCES "flashcards_class" ("id"), "author_id" integer NOT NULL REFERENCES "auth_user" ("id"), "mask_id" integer REFERENCES "flashcards_flashcardmask" ("id"), "previous_id" integer REFERENCES "flashcards_flashcard" ("id")); -CREATE TABLE "auth_user" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "password" varchar(128) NOT NULL, "is_superuser" bool NOT NULL, "username" varchar(30) NOT NULL UNIQUE, "first_name" varchar(30) NOT NULL, "last_name" varchar(30) NOT NULL, "email" varchar(254) NOT NULL, "is_staff" bool NOT NULL, "is_active" bool NOT NULL, "date_joined" integer NOT NULL, "last_login" integer); +SET statement_timeout = 0; +SET lock_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = ON; +SET check_function_bodies = FALSE; +SET client_min_messages = WARNING; + + +CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; + + +COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; + + +SET search_path = PUBLIC, pg_catalog; + +SET default_tablespace = ''; + +SET default_with_oids = FALSE; + +-- +-- CREATE TABLE auth_group ( +-- id integer NOT NULL, +-- name character varying(80) NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.auth_group OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE auth_group_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.auth_group_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE auth_group_id_seq OWNED BY auth_group.id; +-- +-- +-- +-- CREATE TABLE auth_group_permissions ( +-- id integer NOT NULL, +-- group_id integer NOT NULL, +-- permission_id integer NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.auth_group_permissions OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE auth_group_permissions_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.auth_group_permissions_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE auth_group_permissions_id_seq OWNED BY auth_group_permissions.id; +-- +-- +-- +-- CREATE TABLE auth_permission ( +-- id integer NOT NULL, +-- name character varying(255) NOT NULL, +-- content_type_id integer NOT NULL, +-- codename character varying(100) NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.auth_permission OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE auth_permission_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.auth_permission_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE auth_permission_id_seq OWNED BY auth_permission.id; +-- +-- +-- +-- CREATE TABLE django_admin_log ( +-- id integer NOT NULL, +-- action_time timestamp with time zone NOT NULL, +-- object_id text, +-- object_repr character varying(200) NOT NULL, +-- action_flag smallint NOT NULL, +-- change_message text NOT NULL, +-- content_type_id integer, +-- user_id integer NOT NULL, +-- CONSTRAINT django_admin_log_action_flag_check CHECK ((action_flag >= 0)) +-- ); +-- +-- +-- ALTER TABLE public.django_admin_log OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE django_admin_log_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.django_admin_log_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE django_admin_log_id_seq OWNED BY django_admin_log.id; +-- +-- +-- +-- CREATE TABLE django_content_type ( +-- id integer NOT NULL, +-- app_label character varying(100) NOT NULL, +-- model character varying(100) NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.django_content_type OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE django_content_type_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.django_content_type_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE django_content_type_id_seq OWNED BY django_content_type.id; +-- +-- +-- +-- CREATE TABLE django_migrations ( +-- id integer NOT NULL, +-- app character varying(255) NOT NULL, +-- name character varying(255) NOT NULL, +-- applied timestamp with time zone NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.django_migrations OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE django_migrations_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.django_migrations_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE django_migrations_id_seq OWNED BY django_migrations.id; + + +CREATE TABLE flashcards_lectureperiod ( + id INTEGER NOT NULL, + week_day INTEGER NOT NULL, + start_time TIME NOT NULL, + end_time TIME NOT NULL, + section_id INTEGER NOT NULL +); + + +CREATE TABLE flashcards_section_whitelist ( + id INTEGER NOT NULL, + section_id INTEGER NOT NULL, + user_id INTEGER NOT NULL +); + +CREATE TABLE flashcards_section ( + + department CHARACTER VARYING(50) NOT NULL, + course_num CHARACTER VARYING(6) NOT NULL, + course_title CHARACTER VARYING(50) NOT NULL, + id INTEGER NOT NULL, + instructor CHARACTER VARYING(100) NOT NULL, + quarter CHARACTER VARYING(4) NOT NULL +); + + +CREATE TABLE flashcards_whitelistedaddress ( + id INTEGER NOT NULL, + email CHARACTER VARYING(254) NOT NULL, + section_id INTEGER NOT NULL +); + + +CREATE TABLE flashcards_user ( + id INTEGER NOT NULL, + password CHARACTER VARYING(128) NOT NULL, + last_login TIMESTAMP, + is_superuser BOOLEAN NOT NULL, + username CHARACTER VARYING(30) NOT NULL, + first_name CHARACTER VARYING(30) NOT NULL, + last_name CHARACTER VARYING(30) NOT NULL, + email CHARACTER VARYING(254) NOT NULL, + is_staff BOOLEAN NOT NULL, + is_active BOOLEAN NOT NULL, + date_joined TIMESTAMP NOT NULL +); + +CREATE TABLE flashcards_user_sections ( + id INTEGER NOT NULL, + user_id INTEGER NOT NULL, + section_id INTEGER NOT NULL +); +-- +-- CREATE TABLE flashcards_user_groups ( +-- id integer NOT NULL, +-- user_id integer NOT NULL, +-- group_id integer NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.flashcards_user_groups OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE flashcards_user_groups_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.flashcards_user_groups_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE flashcards_user_groups_id_seq OWNED BY flashcards_user_groups.id; +CREATE TABLE flashcards_flashcard ( + id INTEGER NOT NULL, + section_id INTEGER NOT NULL, + text CHARACTER VARYING(255) NOT NULL, + pushed TIMESTAMP NOT NULL, + material_date TIMESTAMP NOT NULL, + is_hidden BOOLEAN NOT NULL, + hide_reason CHARACTER VARYING(255) NOT NULL, + author_id INTEGER NOT NULL, + mask_id INTEGER, + previous_id INTEGER + +); + + + + +CREATE TABLE django_session ( + session_key CHARACTER VARYING(40) NOT NULL, + session_data TEXT NOT NULL, + expire_date TIMESTAMP NOT NULL +); + + +-- +-- +-- CREATE TABLE flashcards_user_user_permissions ( +-- id integer NOT NULL, +-- user_id integer NOT NULL, +-- permission_id integer NOT NULL +-- ); +-- +-- +-- ALTER TABLE public.flashcards_user_user_permissions OWNER TO flashy; +-- +-- +-- CREATE SEQUENCE flashcards_user_user_permissions_id_seq +-- START WITH 1 +-- INCREMENT BY 1 +-- NO MINVALUE +-- NO MAXVALUE +-- CACHE 1; +-- +-- +-- ALTER TABLE public.flashcards_user_user_permissions_id_seq OWNER TO flashy; +-- +-- +-- ALTER SEQUENCE flashcards_user_user_permissions_id_seq OWNED BY flashcards_user_user_permissions.id; + + + +CREATE TABLE flashcards_flashcardreport ( + id INTEGER NOT NULL, + reason CHARACTER VARYING(255) NOT NULL, + flashcard_id INTEGER NOT NULL, + user_id INTEGER NOT NULL +); + +CREATE TABLE flashcards_userflashcardreview ( + id INTEGER NOT NULL, + "when" TIMESTAMP NOT NULL, + blanked_word CHARACTER VARYING(8) NOT NULL, + response CHARACTER VARYING(255), + correct BOOLEAN, + user_flashcard_id INTEGER NOT NULL +); + +CREATE TABLE flashcards_userflashcard ( + id INTEGER NOT NULL, + user_id INTEGER NOT NULL, + pulled TIMESTAMP, + unpulled TIMESTAMP, + flashcard_id INTEGER NOT NULL, + mask_id INTEGER NOT NULL +); + + + + +CREATE TABLE flashcards_flashcardmask ( + id INTEGER NOT NULL, + ranges CHARACTER VARYING(255) NOT NULL +); + + +-- +-- CREATE TABLE simple_email_confirmation_emailaddress ( +-- id integer NOT NULL, +-- email character varying(255) NOT NULL, +-- key character varying(40) NOT NULL, +-- set_at timestamp with time zone NOT NULL, +-- confirmed_at timestamp with time zone, +-- user_id integer NOT NULL +-- ); + +-- +-- +-- +-- ALTER TABLE ONLY auth_group +-- ADD CONSTRAINT auth_group_name_key UNIQUE (name); +-- +-- +-- +-- ALTER TABLE ONLY auth_group_permissions +-- ADD CONSTRAINT auth_group_permissions_group_id_permission_id_key UNIQUE (group_id, permission_id); +-- +-- +-- +-- ALTER TABLE ONLY auth_group_permissions +-- ADD CONSTRAINT auth_group_permissions_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY auth_group +-- ADD CONSTRAINT auth_group_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY auth_permission +-- ADD CONSTRAINT auth_permission_content_type_id_codename_key UNIQUE (content_type_id, codename); +-- +-- +-- +-- ALTER TABLE ONLY auth_permission +-- ADD CONSTRAINT auth_permission_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY django_admin_log +-- ADD CONSTRAINT django_admin_log_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY django_content_type +-- ADD CONSTRAINT django_content_type_app_label_45f3b1d93ec8c61c_uniq UNIQUE (app_label, model); +-- +-- +-- +-- ALTER TABLE ONLY django_content_type +-- ADD CONSTRAINT django_content_type_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY django_migrations +-- ADD CONSTRAINT django_migrations_pkey PRIMARY KEY (id); +-- +-- +-- + + +ALTER TABLE ONLY flashcards_flashcard +ADD CONSTRAINT flashcards_flashcard_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_flashcardmask +ADD CONSTRAINT flashcards_flashcardmask_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_flashcardreport +ADD CONSTRAINT flashcards_flashcardreport_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_flashcardreport +ADD CONSTRAINT flashcards_flashcardreport_user_id_33ed44e076ba0c26_uniq UNIQUE (user_id, flashcard_id); + + +ALTER TABLE ONLY flashcards_lectureperiod +ADD CONSTRAINT flashcards_lectureperiod_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_lectureperiod +ADD CONSTRAINT flashcards_lectureperiod_section_id_64d9645909ab3722_uniq UNIQUE (section_id, start_time, week_day); + + +ALTER TABLE ONLY flashcards_section +ADD CONSTRAINT flashcards_section_department_62472d9260ce7d87_uniq UNIQUE (department, course_num, quarter, instructor); + + +ALTER TABLE ONLY flashcards_section +ADD CONSTRAINT flashcards_section_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_section_whitelist +ADD CONSTRAINT flashcards_section_whitelist_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_section_whitelist +ADD CONSTRAINT flashcards_section_whitelist_section_id_user_id_key UNIQUE (section_id, user_id); + + +ALTER TABLE ONLY flashcards_user +ADD CONSTRAINT flashcards_user_email_key UNIQUE (email); + +-- +-- +-- ALTER TABLE ONLY flashcards_user_groups +-- ADD CONSTRAINT flashcards_user_groups_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY flashcards_user_groups +-- ADD CONSTRAINT flashcards_user_groups_user_id_group_id_key UNIQUE (user_id, group_id); +-- +-- + +ALTER TABLE ONLY flashcards_user +ADD CONSTRAINT flashcards_user_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_user_sections +ADD CONSTRAINT flashcards_user_sections_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_user_sections +ADD CONSTRAINT flashcards_user_sections_user_id_section_id_key UNIQUE (user_id, section_id); + + +-- +-- ALTER TABLE ONLY flashcards_user_user_permissions +-- ADD CONSTRAINT flashcards_user_user_permissions_pkey PRIMARY KEY (id); +-- +-- +-- +-- ALTER TABLE ONLY flashcards_user_user_permissions +-- ADD CONSTRAINT flashcards_user_user_permissions_user_id_permission_id_key UNIQUE (user_id, permission_id); +-- +-- + +ALTER TABLE ONLY flashcards_userflashcard +ADD CONSTRAINT flashcards_userflashcard_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_userflashcard +ADD CONSTRAINT flashcards_userflashcard_user_id_15a77ea9fbc24533_uniq UNIQUE (user_id, flashcard_id); + + +ALTER TABLE ONLY flashcards_userflashcardreview +ADD CONSTRAINT flashcards_userflashcardreview_pkey PRIMARY KEY (id); + + +ALTER TABLE ONLY flashcards_whitelistedaddress +ADD CONSTRAINT flashcards_whitelistedaddress_pkey PRIMARY KEY (id); + + +-- +-- ALTER TABLE ONLY simple_email_confirmation_emailaddress +-- ADD CONSTRAINT simple_email_confirmation_emailad_user_id_4729ce83422361d3_uniq UNIQUE (user_id, email); +-- +-- +-- +-- ALTER TABLE ONLY simple_email_confirmation_emailaddress +-- ADD CONSTRAINT simple_email_confirmation_emailaddress_key_key UNIQUE (key); +-- +-- +-- +-- ALTER TABLE ONLY simple_email_confirmation_emailaddress +-- ADD CONSTRAINT simple_email_confirmation_emailaddress_pkey PRIMARY KEY (id); +-- +-- +-- ALTER TABLE ONLY auth_permission +-- ADD CONSTRAINT auth_content_type_id_508cf46651277a81_fk_django_content_type_id FOREIGN KEY (content_type_id) REFERENCES django_content_type(id) DEFERRABLE INITIALLY DEFERRED; +-- +-- +-- +-- ALTER TABLE ONLY auth_group_permissions +-- ADD CONSTRAINT auth_group_permissio_group_id_689710a9a73b7457_fk_auth_group_id FOREIGN KEY (group_id) REFERENCES auth_group(id) DEFERRABLE INITIALLY DEFERRED; +-- +-- +-- +-- ALTER TABLE ONLY auth_group_permissions +-- ADD CONSTRAINT auth_group_permission_id_1f49ccbbdc69d2fc_fk_auth_permission_id FOREIGN KEY (permission_id) REFERENCES auth_permission(id) DEFERRABLE INITIALLY DEFERRED; +-- + + +ALTER TABLE ONLY flashcards_userflashcardreview +ADD CONSTRAINT c7fb24e9ba5630e6a0a6e09a8db7bd8a FOREIGN KEY (user_flashcard_id) REFERENCES flashcards_userflashcard (id) DEFERRABLE INITIALLY DEFERRED; + + +-- +-- ALTER TABLE ONLY django_admin_log +-- ADD CONSTRAINT djan_content_type_id_697914295151027a_fk_django_content_type_id FOREIGN KEY (content_type_id) REFERENCES django_content_type(id) DEFERRABLE INITIALLY DEFERRED; +-- +-- +-- +-- ALTER TABLE ONLY django_admin_log +-- ADD CONSTRAINT django_admin_log_user_id_52fdd58701c5f563_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; +-- +-- + +ALTER TABLE ONLY flashcards_userflashcard +ADD CONSTRAINT flashc_flashcard_id_27191f1ce29d4f6e_fk_flashcards_flashcard_id FOREIGN KEY (flashcard_id) REFERENCES flashcards_flashcard (id) DEFERRABLE INITIALLY DEFERRED; + +ALTER TABLE ONLY flashcards_flashcardreport +ADD CONSTRAINT flashc_flashcard_id_540e99a32f8e7ce1_fk_flashcards_flashcard_id FOREIGN KEY (flashcard_id) REFERENCES flashcards_flashcard (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_userflashcard +ADD CONSTRAINT flashca_mask_id_11891dc686c95979_fk_flashcards_flashcardmask_id FOREIGN KEY (mask_id) REFERENCES flashcards_flashcardmask (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_flashcard +ADD CONSTRAINT flashca_mask_id_315fc31541014dcc_fk_flashcards_flashcardmask_id FOREIGN KEY (mask_id) REFERENCES flashcards_flashcardmask (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_flashcard +ADD CONSTRAINT flashca_previous_id_3cf24e79b530c8db_fk_flashcards_flashcard_id FOREIGN KEY (previous_id) REFERENCES flashcards_flashcard (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_flashcard +ADD CONSTRAINT flashcards__section_id_4127cb9d74c53ca_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_flashcard +ADD CONSTRAINT flashcards_flas_author_id_605ad2783a84485_fk_flashcards_user_id FOREIGN KEY (author_id) REFERENCES flashcards_user (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_flashcardreport +ADD CONSTRAINT flashcards_flash_user_id_6c10819646f15401_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user (id) DEFERRABLE INITIALLY DEFERRED; + + +-- +-- ALTER TABLE ONLY flashcards_user_user_permissions +-- ADD CONSTRAINT flashcards_permission_id_5283cfc195698563_fk_auth_permission_id FOREIGN KEY (permission_id) REFERENCES auth_permission(id) DEFERRABLE INITIALLY DEFERRED; +-- + + +ALTER TABLE ONLY flashcards_section_whitelist +ADD CONSTRAINT flashcards_secti_user_id_1d1c9d98deba8a72_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_whitelistedaddress +ADD CONSTRAINT flashcards_section_id_22918ec2e83b2f75_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_lectureperiod +ADD CONSTRAINT flashcards_section_id_302c30eb724723f1_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_section_whitelist +ADD CONSTRAINT flashcards_section_id_4e763ee4275cf523_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_user_sections +ADD CONSTRAINT flashcards_section_id_5d49f31bd84d8f3a_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section (id) DEFERRABLE INITIALLY DEFERRED; + + +-- +-- ALTER TABLE ONLY flashcards_user_user_permissions +-- ADD CONSTRAINT flashcards_user__user_id_12a00980f5183829_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; +-- +-- +-- +ALTER TABLE ONLY flashcards_user_sections +ADD CONSTRAINT flashcards_user__user_id_534bccbf48772015_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user (id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_userflashcard +ADD CONSTRAINT flashcards_userf_user_id_15c43eedfd53f472_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user (id) DEFERRABLE INITIALLY DEFERRED; + +-- +-- ALTER TABLE ONLY simple_email_confirmation_emailaddress +-- ADD CONSTRAINT simple_email_con_user_id_725af1fcf343cca1_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; +-- diff --git a/schema.sql b/schema.sql new file mode 100644 index 0000000..90117e9 --- /dev/null +++ b/schema.sql @@ -0,0 +1,971 @@ + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET client_min_messages = warning; + + +CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; + + + +COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; + + +SET search_path = public, pg_catalog; + +SET default_tablespace = ''; + +SET default_with_oids = false; + + +CREATE TABLE auth_group ( + id integer NOT NULL, + name character varying(80) NOT NULL +); + + +ALTER TABLE public.auth_group OWNER TO flashy; + + +CREATE SEQUENCE auth_group_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_group_id_seq OWNER TO flashy; + + +ALTER SEQUENCE auth_group_id_seq OWNED BY auth_group.id; + + + +CREATE TABLE auth_group_permissions ( + id integer NOT NULL, + group_id integer NOT NULL, + permission_id integer NOT NULL +); + + +ALTER TABLE public.auth_group_permissions OWNER TO flashy; + + +CREATE SEQUENCE auth_group_permissions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_group_permissions_id_seq OWNER TO flashy; + + +ALTER SEQUENCE auth_group_permissions_id_seq OWNED BY auth_group_permissions.id; + + + +CREATE TABLE auth_permission ( + id integer NOT NULL, + name character varying(255) NOT NULL, + content_type_id integer NOT NULL, + codename character varying(100) NOT NULL +); + + +ALTER TABLE public.auth_permission OWNER TO flashy; + + +CREATE SEQUENCE auth_permission_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_permission_id_seq OWNER TO flashy; + + +ALTER SEQUENCE auth_permission_id_seq OWNED BY auth_permission.id; + + + +CREATE TABLE django_admin_log ( + id integer NOT NULL, + action_time timestamp with time zone NOT NULL, + object_id text, + object_repr character varying(200) NOT NULL, + action_flag smallint NOT NULL, + change_message text NOT NULL, + content_type_id integer, + user_id integer NOT NULL, + CONSTRAINT django_admin_log_action_flag_check CHECK ((action_flag >= 0)) +); + + +ALTER TABLE public.django_admin_log OWNER TO flashy; + + +CREATE SEQUENCE django_admin_log_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_admin_log_id_seq OWNER TO flashy; + + +ALTER SEQUENCE django_admin_log_id_seq OWNED BY django_admin_log.id; + + + +CREATE TABLE django_content_type ( + id integer NOT NULL, + app_label character varying(100) NOT NULL, + model character varying(100) NOT NULL +); + + +ALTER TABLE public.django_content_type OWNER TO flashy; + + +CREATE SEQUENCE django_content_type_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_content_type_id_seq OWNER TO flashy; + + +ALTER SEQUENCE django_content_type_id_seq OWNED BY django_content_type.id; + + + +CREATE TABLE django_migrations ( + id integer NOT NULL, + app character varying(255) NOT NULL, + name character varying(255) NOT NULL, + applied timestamp with time zone NOT NULL +); + + +ALTER TABLE public.django_migrations OWNER TO flashy; + + +CREATE SEQUENCE django_migrations_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_migrations_id_seq OWNER TO flashy; + + +ALTER SEQUENCE django_migrations_id_seq OWNED BY django_migrations.id; + + +CREATE TABLE django_session ( + session_key character varying(40) NOT NULL, + session_data text NOT NULL, + expire_date timestamp with time zone NOT NULL +); + + +ALTER TABLE public.django_session OWNER TO flashy; + + +CREATE TABLE flashcards_flashcard ( + id integer NOT NULL, + text character varying(255) NOT NULL, + pushed timestamp with time zone NOT NULL, + material_date timestamp with time zone NOT NULL, + is_hidden boolean NOT NULL, + hide_reason character varying(255) NOT NULL, + author_id integer NOT NULL, + mask_id integer, + previous_id integer, + section_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_flashcard OWNER TO flashy; + + +CREATE SEQUENCE flashcards_flashcard_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_flashcard_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_flashcard_id_seq OWNED BY flashcards_flashcard.id; + + + +CREATE TABLE flashcards_flashcardmask ( + id integer NOT NULL, + ranges character varying(255) NOT NULL +); + + +ALTER TABLE public.flashcards_flashcardmask OWNER TO flashy; + + +CREATE SEQUENCE flashcards_flashcardmask_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_flashcardmask_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_flashcardmask_id_seq OWNED BY flashcards_flashcardmask.id; + + + +CREATE TABLE flashcards_flashcardreport ( + id integer NOT NULL, + reason character varying(255) NOT NULL, + flashcard_id integer NOT NULL, + user_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_flashcardreport OWNER TO flashy; + + +CREATE SEQUENCE flashcards_flashcardreport_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_flashcardreport_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_flashcardreport_id_seq OWNED BY flashcards_flashcardreport.id; + + +CREATE TABLE flashcards_lectureperiod ( + id integer NOT NULL, + week_day integer NOT NULL, + start_time time without time zone NOT NULL, + end_time time without time zone NOT NULL, + section_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_lectureperiod OWNER TO flashy; + + + +CREATE TABLE flashcards_section ( + id integer NOT NULL, + department character varying(50) NOT NULL, + course_num character varying(6) NOT NULL, + course_title character varying(50) NOT NULL, + instructor character varying(100) NOT NULL, + quarter character varying(4) NOT NULL +); + + +ALTER TABLE public.flashcards_section OWNER TO flashy; + + +CREATE SEQUENCE flashcards_section_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_section_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_section_id_seq OWNED BY flashcards_section.id; + + + +CREATE TABLE flashcards_section_whitelist ( + id integer NOT NULL, + section_id integer NOT NULL, + user_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_section_whitelist OWNER TO flashy; + + +CREATE SEQUENCE flashcards_section_whitelist_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_section_whitelist_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_section_whitelist_id_seq OWNED BY flashcards_section_whitelist.id; + + + +CREATE TABLE flashcards_user ( + id integer NOT NULL, + password character varying(128) NOT NULL, + last_login timestamp with time zone, + is_superuser boolean NOT NULL, + username character varying(30) NOT NULL, + first_name character varying(30) NOT NULL, + last_name character varying(30) NOT NULL, + email character varying(254) NOT NULL, + is_staff boolean NOT NULL, + is_active boolean NOT NULL, + date_joined timestamp with time zone NOT NULL +); + + +ALTER TABLE public.flashcards_user OWNER TO flashy; + + +CREATE TABLE flashcards_user_groups ( + id integer NOT NULL, + user_id integer NOT NULL, + group_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_user_groups OWNER TO flashy; + + +CREATE SEQUENCE flashcards_user_groups_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_user_groups_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_user_groups_id_seq OWNED BY flashcards_user_groups.id; + + + +CREATE SEQUENCE flashcards_user_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_user_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_user_id_seq OWNED BY flashcards_user.id; + + + +CREATE TABLE flashcards_user_sections ( + id integer NOT NULL, + user_id integer NOT NULL, + section_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_user_sections OWNER TO flashy; + + +CREATE SEQUENCE flashcards_user_sections_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_user_sections_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_user_sections_id_seq OWNED BY flashcards_user_sections.id; + + + +CREATE TABLE flashcards_user_user_permissions ( + id integer NOT NULL, + user_id integer NOT NULL, + permission_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_user_user_permissions OWNER TO flashy; + + +CREATE SEQUENCE flashcards_user_user_permissions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_user_user_permissions_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_user_user_permissions_id_seq OWNED BY flashcards_user_user_permissions.id; + + + +CREATE TABLE flashcards_userflashcard ( + id integer NOT NULL, + pulled timestamp with time zone, + unpulled timestamp with time zone, + flashcard_id integer NOT NULL, + mask_id integer NOT NULL, + user_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_userflashcard OWNER TO flashy; + + +CREATE SEQUENCE flashcards_userflashcard_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_userflashcard_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_userflashcard_id_seq OWNED BY flashcards_userflashcard.id; + + + +CREATE TABLE flashcards_userflashcardreview ( + id integer NOT NULL, + "when" timestamp with time zone NOT NULL, + blanked_word character varying(8) NOT NULL, + response character varying(255), + correct boolean, + user_flashcard_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_userflashcardreview OWNER TO flashy; + + +CREATE SEQUENCE flashcards_userflashcardreview_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_userflashcardreview_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_userflashcardreview_id_seq OWNED BY flashcards_userflashcardreview.id; + + + +CREATE TABLE flashcards_whitelistedaddress ( + id integer NOT NULL, + email character varying(254) NOT NULL, + section_id integer NOT NULL +); + + +ALTER TABLE public.flashcards_whitelistedaddress OWNER TO flashy; + + +CREATE SEQUENCE flashcards_whitelistedaddress_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flashcards_whitelistedaddress_id_seq OWNER TO flashy; + + +ALTER SEQUENCE flashcards_whitelistedaddress_id_seq OWNED BY flashcards_whitelistedaddress.id; + + + +CREATE TABLE simple_email_confirmation_emailaddress ( + id integer NOT NULL, + email character varying(255) NOT NULL, + key character varying(40) NOT NULL, + set_at timestamp with time zone NOT NULL, + confirmed_at timestamp with time zone, + user_id integer NOT NULL +); + + + + +ALTER TABLE ONLY auth_group + ADD CONSTRAINT auth_group_name_key UNIQUE (name); + + + +ALTER TABLE ONLY auth_group_permissions + ADD CONSTRAINT auth_group_permissions_group_id_permission_id_key UNIQUE (group_id, permission_id); + + + +ALTER TABLE ONLY auth_group_permissions + ADD CONSTRAINT auth_group_permissions_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY auth_group + ADD CONSTRAINT auth_group_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY auth_permission + ADD CONSTRAINT auth_permission_content_type_id_codename_key UNIQUE (content_type_id, codename); + + + +ALTER TABLE ONLY auth_permission + ADD CONSTRAINT auth_permission_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY django_admin_log + ADD CONSTRAINT django_admin_log_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY django_content_type + ADD CONSTRAINT django_content_type_app_label_45f3b1d93ec8c61c_uniq UNIQUE (app_label, model); + + + +ALTER TABLE ONLY django_content_type + ADD CONSTRAINT django_content_type_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY django_migrations + ADD CONSTRAINT django_migrations_pkey PRIMARY KEY (id); + + + + + +ALTER TABLE ONLY flashcards_flashcard + ADD CONSTRAINT flashcards_flashcard_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_flashcardmask + ADD CONSTRAINT flashcards_flashcardmask_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_flashcardreport + ADD CONSTRAINT flashcards_flashcardreport_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_flashcardreport + ADD CONSTRAINT flashcards_flashcardreport_user_id_33ed44e076ba0c26_uniq UNIQUE (user_id, flashcard_id); + + + +ALTER TABLE ONLY flashcards_lectureperiod + ADD CONSTRAINT flashcards_lectureperiod_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_lectureperiod + ADD CONSTRAINT flashcards_lectureperiod_section_id_64d9645909ab3722_uniq UNIQUE (section_id, start_time, week_day); + + + +ALTER TABLE ONLY flashcards_section + ADD CONSTRAINT flashcards_section_department_62472d9260ce7d87_uniq UNIQUE (department, course_num, quarter, instructor); + + + +ALTER TABLE ONLY flashcards_section + ADD CONSTRAINT flashcards_section_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_section_whitelist + ADD CONSTRAINT flashcards_section_whitelist_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_section_whitelist + ADD CONSTRAINT flashcards_section_whitelist_section_id_user_id_key UNIQUE (section_id, user_id); + + + +ALTER TABLE ONLY flashcards_user + ADD CONSTRAINT flashcards_user_email_key UNIQUE (email); + + + +ALTER TABLE ONLY flashcards_user_groups + ADD CONSTRAINT flashcards_user_groups_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_user_groups + ADD CONSTRAINT flashcards_user_groups_user_id_group_id_key UNIQUE (user_id, group_id); + + + +ALTER TABLE ONLY flashcards_user + ADD CONSTRAINT flashcards_user_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_user_sections + ADD CONSTRAINT flashcards_user_sections_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_user_sections + ADD CONSTRAINT flashcards_user_sections_user_id_section_id_key UNIQUE (user_id, section_id); + + + +ALTER TABLE ONLY flashcards_user_user_permissions + ADD CONSTRAINT flashcards_user_user_permissions_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_user_user_permissions + ADD CONSTRAINT flashcards_user_user_permissions_user_id_permission_id_key UNIQUE (user_id, permission_id); + + + +ALTER TABLE ONLY flashcards_userflashcard + ADD CONSTRAINT flashcards_userflashcard_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_userflashcard + ADD CONSTRAINT flashcards_userflashcard_user_id_15a77ea9fbc24533_uniq UNIQUE (user_id, flashcard_id); + + + +ALTER TABLE ONLY flashcards_userflashcardreview + ADD CONSTRAINT flashcards_userflashcardreview_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY flashcards_whitelistedaddress + ADD CONSTRAINT flashcards_whitelistedaddress_pkey PRIMARY KEY (id); + + + +ALTER TABLE ONLY simple_email_confirmation_emailaddress + ADD CONSTRAINT simple_email_confirmation_emailad_user_id_4729ce83422361d3_uniq UNIQUE (user_id, email); + + + +ALTER TABLE ONLY simple_email_confirmation_emailaddress + ADD CONSTRAINT simple_email_confirmation_emailaddress_key_key UNIQUE (key); + + + +ALTER TABLE ONLY simple_email_confirmation_emailaddress + ADD CONSTRAINT simple_email_confirmation_emailaddress_pkey PRIMARY KEY (id); + + + +CREATE INDEX auth_group_name_253ae2a6331666e8_like ON auth_group USING btree (name varchar_pattern_ops); + + + +CREATE INDEX auth_group_permissions_0e939a4f ON auth_group_permissions USING btree (group_id); + + + +CREATE INDEX auth_group_permissions_8373b171 ON auth_group_permissions USING btree (permission_id); + + + +CREATE INDEX auth_permission_417f1b1c ON auth_permission USING btree (content_type_id); + + + +CREATE INDEX django_admin_log_417f1b1c ON django_admin_log USING btree (content_type_id); + + + +CREATE INDEX django_admin_log_e8701ad4 ON django_admin_log USING btree (user_id); + + + +CREATE INDEX django_session_de54fa62 ON django_session USING btree (expire_date); + + + +CREATE INDEX django_session_session_key_461cfeaa630ca218_like ON django_session USING btree (session_key varchar_pattern_ops); + + + +CREATE INDEX flashcards_flashcard_4024b9ac ON flashcards_flashcard USING btree (mask_id); + + + +CREATE INDEX flashcards_flashcard_4f331e2f ON flashcards_flashcard USING btree (author_id); + + + +CREATE INDEX flashcards_flashcard_730f6511 ON flashcards_flashcard USING btree (section_id); + + + +CREATE INDEX flashcards_flashcard_f69c16f1 ON flashcards_flashcard USING btree (previous_id); + + + +CREATE INDEX flashcards_flashcardreport_7c1f79fc ON flashcards_flashcardreport USING btree (flashcard_id); + + + +CREATE INDEX flashcards_flashcardreport_e8701ad4 ON flashcards_flashcardreport USING btree (user_id); + + + +CREATE INDEX flashcards_lectureperiod_730f6511 ON flashcards_lectureperiod USING btree (section_id); + + + +CREATE INDEX flashcards_section_whitelist_730f6511 ON flashcards_section_whitelist USING btree (section_id); + + + +CREATE INDEX flashcards_section_whitelist_e8701ad4 ON flashcards_section_whitelist USING btree (user_id); + + + +CREATE INDEX flashcards_user_email_14afda24ead1b594_like ON flashcards_user USING btree (email varchar_pattern_ops); + + + +CREATE INDEX flashcards_user_groups_0e939a4f ON flashcards_user_groups USING btree (group_id); + + + +CREATE INDEX flashcards_user_groups_e8701ad4 ON flashcards_user_groups USING btree (user_id); + + + +CREATE INDEX flashcards_user_sections_730f6511 ON flashcards_user_sections USING btree (section_id); + + + +CREATE INDEX flashcards_user_sections_e8701ad4 ON flashcards_user_sections USING btree (user_id); + + + +CREATE INDEX flashcards_user_user_permissions_8373b171 ON flashcards_user_user_permissions USING btree (permission_id); + + + +CREATE INDEX flashcards_user_user_permissions_e8701ad4 ON flashcards_user_user_permissions USING btree (user_id); + + + +CREATE INDEX flashcards_user_username_541562a44599e88b_like ON flashcards_user USING btree (username varchar_pattern_ops); + + + +CREATE INDEX flashcards_userflashcard_4024b9ac ON flashcards_userflashcard USING btree (mask_id); + + + +CREATE INDEX flashcards_userflashcard_7c1f79fc ON flashcards_userflashcard USING btree (flashcard_id); + + + +CREATE INDEX flashcards_userflashcard_e8701ad4 ON flashcards_userflashcard USING btree (user_id); + + + +CREATE INDEX flashcards_userflashcard_user_id_15a77ea9fbc24533_idx ON flashcards_userflashcard USING btree (user_id, flashcard_id); + + + +CREATE INDEX flashcards_userflashcardreview_850c205f ON flashcards_userflashcardreview USING btree (user_flashcard_id); + + + +CREATE INDEX flashcards_whitelistedaddress_730f6511 ON flashcards_whitelistedaddress USING btree (section_id); + + + +CREATE INDEX simple_email_confirmation_emailaddres_key_7cef87b4a5607977_like ON simple_email_confirmation_emailaddress USING btree (key varchar_pattern_ops); + + + +CREATE INDEX simple_email_confirmation_emailaddress_e8701ad4 ON simple_email_confirmation_emailaddress USING btree (user_id); + + + +ALTER TABLE ONLY auth_permission + ADD CONSTRAINT auth_content_type_id_508cf46651277a81_fk_django_content_type_id FOREIGN KEY (content_type_id) REFERENCES django_content_type(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY auth_group_permissions + ADD CONSTRAINT auth_group_permissio_group_id_689710a9a73b7457_fk_auth_group_id FOREIGN KEY (group_id) REFERENCES auth_group(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY auth_group_permissions + ADD CONSTRAINT auth_group_permission_id_1f49ccbbdc69d2fc_fk_auth_permission_id FOREIGN KEY (permission_id) REFERENCES auth_permission(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_userflashcardreview + ADD CONSTRAINT c7fb24e9ba5630e6a0a6e09a8db7bd8a FOREIGN KEY (user_flashcard_id) REFERENCES flashcards_userflashcard(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY django_admin_log + ADD CONSTRAINT djan_content_type_id_697914295151027a_fk_django_content_type_id FOREIGN KEY (content_type_id) REFERENCES django_content_type(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY django_admin_log + ADD CONSTRAINT django_admin_log_user_id_52fdd58701c5f563_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_userflashcard + ADD CONSTRAINT flashc_flashcard_id_27191f1ce29d4f6e_fk_flashcards_flashcard_id FOREIGN KEY (flashcard_id) REFERENCES flashcards_flashcard(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcardreport + ADD CONSTRAINT flashc_flashcard_id_540e99a32f8e7ce1_fk_flashcards_flashcard_id FOREIGN KEY (flashcard_id) REFERENCES flashcards_flashcard(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_userflashcard + ADD CONSTRAINT flashca_mask_id_11891dc686c95979_fk_flashcards_flashcardmask_id FOREIGN KEY (mask_id) REFERENCES flashcards_flashcardmask(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcard + ADD CONSTRAINT flashca_mask_id_315fc31541014dcc_fk_flashcards_flashcardmask_id FOREIGN KEY (mask_id) REFERENCES flashcards_flashcardmask(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcard + ADD CONSTRAINT flashca_previous_id_3cf24e79b530c8db_fk_flashcards_flashcard_id FOREIGN KEY (previous_id) REFERENCES flashcards_flashcard(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcard + ADD CONSTRAINT flashcards__section_id_4127cb9d74c53ca_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcard + ADD CONSTRAINT flashcards_flas_author_id_605ad2783a84485_fk_flashcards_user_id FOREIGN KEY (author_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_flashcardreport + ADD CONSTRAINT flashcards_flash_user_id_6c10819646f15401_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_user_user_permissions + ADD CONSTRAINT flashcards_permission_id_5283cfc195698563_fk_auth_permission_id FOREIGN KEY (permission_id) REFERENCES auth_permission(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_section_whitelist + ADD CONSTRAINT flashcards_secti_user_id_1d1c9d98deba8a72_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_whitelistedaddress + ADD CONSTRAINT flashcards_section_id_22918ec2e83b2f75_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_lectureperiod + ADD CONSTRAINT flashcards_section_id_302c30eb724723f1_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_section_whitelist + ADD CONSTRAINT flashcards_section_id_4e763ee4275cf523_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_user_sections + ADD CONSTRAINT flashcards_section_id_5d49f31bd84d8f3a_fk_flashcards_section_id FOREIGN KEY (section_id) REFERENCES flashcards_section(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_user_user_permissions + ADD CONSTRAINT flashcards_user__user_id_12a00980f5183829_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_user_sections + ADD CONSTRAINT flashcards_user__user_id_534bccbf48772015_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + + +ALTER TABLE ONLY flashcards_user_groups + ADD CONSTRAINT flashcards_user_g_user_id_1f8520a79156ba5_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_user_groups + ADD CONSTRAINT flashcards_user_group_group_id_466553500229f1e_fk_auth_group_id FOREIGN KEY (group_id) REFERENCES auth_group(id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY flashcards_userflashcard + ADD CONSTRAINT flashcards_userf_user_id_15c43eedfd53f472_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + + +ALTER TABLE ONLY simple_email_confirmation_emailaddress + ADD CONSTRAINT simple_email_con_user_id_725af1fcf343cca1_fk_flashcards_user_id FOREIGN KEY (user_id) REFERENCES flashcards_user(id) DEFERRABLE INITIALLY DEFERRED; + -- 1.9.1