| table_schema | table_name | column_name | constraint_type | | ------------------- | ------------------------------- | --------------------- | --------------- | | public | story_exercise_words | id | PRIMARY KEY | | public | story_exercise_words | story_id | FOREIGN KEY | | public | story_exercise_words | story_id | UNIQUE | | public | story_exercise_words | word | UNIQUE | | public | story_exercise_words | exercise_type | UNIQUE | | public | story_exercise_words | | CHECK | | public | story_pages | story_id | FOREIGN KEY | | public | story_pages | story_id | FOREIGN KEY | | public | story_pages | id | PRIMARY KEY | | public | story_generations | id | PRIMARY KEY | | public | story_generations | story_id | FOREIGN KEY | | public | schools | id | PRIMARY KEY | | public | teachers | email | UNIQUE | | public | teachers | id | PRIMARY KEY | | public | teachers | school_id | FOREIGN KEY | | public | teachers | | CHECK | | public | classes | id | PRIMARY KEY | | public | classes | school_id | FOREIGN KEY | | public | classes | teacher_id | FOREIGN KEY | | public | teacher_classes | class_id | FOREIGN KEY | | public | teacher_classes | id | PRIMARY KEY | | public | teacher_classes | teacher_id | UNIQUE | | public | teacher_classes | class_id | UNIQUE | | public | teacher_classes | teacher_id | FOREIGN KEY | | public | students | class_id | FOREIGN KEY | | public | students | email | UNIQUE | | public | students | id | PRIMARY KEY | | public | students | school_id | FOREIGN KEY | | public | students | | CHECK | | public | story_themes | id | PRIMARY KEY | | public | story_themes | slug | UNIQUE | | public | story_subjects | id | PRIMARY KEY | | public | story_subjects | slug | UNIQUE | | public | story_characters | id | PRIMARY KEY | | public | story_characters | slug | UNIQUE | | public | story_settings | id | PRIMARY KEY | | public | story_settings | slug | UNIQUE | | public | stories | character_id | FOREIGN KEY | | public | stories | setting_id | FOREIGN KEY | | public | stories | subject_id | FOREIGN KEY | | public | stories | theme_id | FOREIGN KEY | | public | stories | character_id | FOREIGN KEY | | public | stories | id | PRIMARY KEY | | public | stories | setting_id | FOREIGN KEY | | public | stories | | CHECK | | public | stories | student_id | FOREIGN KEY | | public | stories | subject_id | FOREIGN KEY | | public | stories | theme_id | FOREIGN KEY | | public | teacher_invites | id | PRIMARY KEY | | public | teacher_invites | school_id | FOREIGN KEY | | public | teacher_invites | | CHECK | | public | teacher_invites | token | UNIQUE | | public | phonics_exercise_types | id | PRIMARY KEY | | public | phonics_exercises | id | PRIMARY KEY | | public | phonics_exercises | type_id | FOREIGN KEY | | public | phonics_words | id | PRIMARY KEY | | public | phonics_exercise_words | exercise_id | FOREIGN KEY | | public | phonics_exercise_words | exercise_id | UNIQUE | | public | phonics_exercise_words | word_id | UNIQUE | | public | phonics_exercise_words | id | PRIMARY KEY | | public | phonics_exercise_words | word_id | FOREIGN KEY | | public | phonics_categories | id | PRIMARY KEY | | public | phonics_exercise_media | exercise_id | FOREIGN KEY | | public | phonics_exercise_media | media_type_id | FOREIGN KEY | | public | phonics_exercise_media | id | PRIMARY KEY | | public | student_phonics_attempt_answers | attempt_id | FOREIGN KEY | | public | student_phonics_attempt_answers | id | PRIMARY KEY | | public | student_phonics_attempt_answers | word_id | FOREIGN KEY | | public | media_types | id | PRIMARY KEY | | public | student_phonics_progress | exercise_id | FOREIGN KEY | | public | student_phonics_progress | id | PRIMARY KEY | | public | student_phonics_progress | student_id | UNIQUE | | public | student_phonics_progress | exercise_id | UNIQUE | | public | student_phonics_progress | student_id | FOREIGN KEY | | public | student_phonics_attempts | exercise_id | FOREIGN KEY | | public | student_phonics_attempts | id | PRIMARY KEY | | public | student_phonics_attempts | student_id | FOREIGN KEY | | public | achievement_types | id | PRIMARY KEY | | public | phonics_achievements | id | PRIMARY KEY | | public | phonics_achievements | type_id | FOREIGN KEY | | public | student_phonics_achievements | achievement_id | FOREIGN KEY | | public | student_phonics_achievements | id | PRIMARY KEY | | public | student_phonics_achievements | student_id | UNIQUE | | public | student_phonics_achievements | achievement_id | UNIQUE | | public | student_phonics_achievements | student_id | FOREIGN KEY | | public | phonics_word_audio | id | PRIMARY KEY | | public | phonics_word_audio | word | UNIQUE | | public | languages | code | UNIQUE | | public | languages | id | PRIMARY KEY | | public | story_recordings | story_id | FOREIGN KEY | | public | story_recordings | story_id | FOREIGN KEY | | public | story_recordings | | CHECK | | public | story_recordings | | CHECK | | public | story_recordings | | CHECK | | public | story_recordings | id | PRIMARY KEY | | public | story_recordings | | CHECK | | public | story_recordings | student_id | FOREIGN KEY | | public | interests | id | PRIMARY KEY | | public | interests | student_id | UNIQUE | | public | interests | category | UNIQUE | | public | interests | item | UNIQUE | | public | interests | student_id | FOREIGN KEY | | public | achievements | id | PRIMARY KEY | | public | student_achievements_old | achievement_id | FOREIGN KEY | | public | student_achievements_old | id | PRIMARY KEY | | public | student_achievements_old | student_id | FOREIGN KEY | | public | student_achievements | achievement_id | FOREIGN KEY | | public | student_achievements | id | PRIMARY KEY | | public | student_achievements | student_id | FOREIGN KEY | | storage | buckets | id | PRIMARY KEY | | storage | migrations | name | UNIQUE | | storage | migrations | id | PRIMARY KEY | | storage | objects | bucket_id | FOREIGN KEY | | storage | objects | id | PRIMARY KEY | | storage | s3_multipart_uploads | bucket_id | FOREIGN KEY | | storage | s3_multipart_uploads | id | PRIMARY KEY | | storage | s3_multipart_uploads_parts | bucket_id | FOREIGN KEY | | storage | s3_multipart_uploads_parts | id | PRIMARY KEY | | storage | s3_multipart_uploads_parts | upload_id | FOREIGN KEY | | auth | refresh_tokens | id | PRIMARY KEY | | auth | refresh_tokens | session_id | FOREIGN KEY | | auth | refresh_tokens | token | UNIQUE | | auth | instances | id | PRIMARY KEY | | auth | schema_migrations | version | PRIMARY KEY | | auth | users | | CHECK | | auth | users | phone | UNIQUE | | auth | users | id | PRIMARY KEY | | auth | sso_providers | | CHECK | | auth | sso_providers | id | PRIMARY KEY | | auth | saml_relay_states | | CHECK | | auth | saml_relay_states | flow_state_id | FOREIGN KEY | | auth | saml_relay_states | id | PRIMARY KEY | | auth | saml_relay_states | sso_provider_id | FOREIGN KEY | | auth | flow_state | id | PRIMARY KEY | | auth | one_time_tokens | id | PRIMARY KEY | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | user_id | FOREIGN KEY | | auth | audit_log_entries | id | PRIMARY KEY | | auth | mfa_factors | last_challenged_at | UNIQUE | | auth | mfa_factors | id | PRIMARY KEY | | auth | mfa_factors | user_id | FOREIGN KEY | | auth | sessions | id | PRIMARY KEY | | auth | sessions | user_id | FOREIGN KEY | | auth | sso_domains | | CHECK | | auth | sso_domains | id | PRIMARY KEY | | auth | sso_domains | sso_provider_id | FOREIGN KEY | | auth | mfa_challenges | factor_id | FOREIGN KEY | | auth | mfa_challenges | id | PRIMARY KEY | | auth | mfa_amr_claims | id | PRIMARY KEY | | auth | mfa_amr_claims | session_id | UNIQUE | | auth | mfa_amr_claims | authentication_method | UNIQUE | | auth | mfa_amr_claims | session_id | FOREIGN KEY | | auth | saml_providers | | CHECK | | auth | saml_providers | | CHECK | | auth | saml_providers | | CHECK | | auth | saml_providers | entity_id | UNIQUE | | auth | saml_providers | id | PRIMARY KEY | | auth | saml_providers | sso_provider_id | FOREIGN KEY | | auth | identities | id | PRIMARY KEY | | auth | identities | provider | UNIQUE | | auth | identities | provider_id | UNIQUE | | auth | identities | user_id | FOREIGN KEY | | realtime | schema_migrations | version | PRIMARY KEY | | realtime | subscription | id | PRIMARY KEY | | realtime | messages | id | PRIMARY KEY | | realtime | messages | inserted_at | PRIMARY KEY | | pgsodium | key | | CHECK | | pgsodium | key | parent_key | FOREIGN KEY | | pgsodium | key | id | PRIMARY KEY | | pgsodium | key | name | UNIQUE | | pgsodium | key | | CHECK | | vault | secrets | key_id | FOREIGN KEY | | vault | secrets | id | PRIMARY KEY | | supabase_migrations | schema_migrations | version | PRIMARY KEY | | supabase_migrations | seed_files | path | PRIMARY KEY | | public | story_exercise_words | | CHECK | | public | story_exercise_words | | CHECK | | public | story_exercise_words | | CHECK | | public | story_pages | | CHECK | | public | story_pages | | CHECK | | public | story_pages | | CHECK | | public | story_pages | | CHECK | | public | story_pages | | CHECK | | public | story_generations | | CHECK | | public | story_generations | | CHECK | | public | story_generations | | CHECK | | public | story_generations | | CHECK | | public | story_generations | | CHECK | | public | story_generations | | CHECK | | public | schools | | CHECK | | public | schools | | CHECK | | public | schools | | CHECK | | public | schools | | CHECK | | public | schools | | CHECK | | public | teachers | | CHECK | | public | teachers | | CHECK | | public | teachers | | CHECK | | public | teachers | | CHECK | | public | teachers | | CHECK | | public | teachers | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | classes | | CHECK | | public | teacher_classes | | CHECK | | public | teacher_classes | | CHECK | | public | teacher_classes | | CHECK | | public | teacher_classes | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | students | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_themes | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_subjects | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_characters | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | story_settings | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | stories | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | teacher_invites | | CHECK | | public | phonics_exercise_types | | CHECK | | public | phonics_exercise_types | | CHECK | | public | phonics_exercises | | CHECK | | public | phonics_exercises | | CHECK | | public | phonics_exercises | | CHECK | | public | phonics_exercises | | CHECK | | public | phonics_words | | CHECK | | public | phonics_words | | CHECK | | public | phonics_words | | CHECK | | public | phonics_exercise_words | | CHECK | | public | phonics_categories | | CHECK | | public | phonics_categories | | CHECK | | public | phonics_categories | | CHECK | | public | phonics_categories | | CHECK | | public | phonics_exercise_media | | CHECK | | public | phonics_exercise_media | | CHECK | | public | student_phonics_attempt_answers | | CHECK | | public | student_phonics_attempt_answers | | CHECK | | public | media_types | | CHECK | | public | media_types | | CHECK | | public | student_phonics_progress | | CHECK | | public | student_phonics_attempts | | CHECK | | public | student_phonics_attempts | | CHECK | | public | achievement_types | | CHECK | | public | achievement_types | | CHECK | | public | phonics_achievements | | CHECK | | public | phonics_achievements | | CHECK | | public | student_phonics_achievements | | CHECK | | public | phonics_word_audio | | CHECK | | public | phonics_word_audio | | CHECK | | public | phonics_word_audio | | CHECK | | public | phonics_word_audio | | CHECK | | public | languages | | CHECK | | public | languages | | CHECK | | public | languages | | CHECK | | public | languages | | CHECK | | public | languages | | CHECK | | public | story_recordings | | CHECK | | public | story_recordings | | CHECK | | public | story_recordings | | CHECK | | public | interests | | CHECK | | public | interests | | CHECK | | public | interests | | CHECK | | public | interests | | CHECK | | public | interests | | CHECK | | public | interests | | CHECK | | public | achievements | | CHECK | | public | student_achievements_old | | CHECK | | public | student_achievements | | CHECK | | storage | buckets | | CHECK | | storage | buckets | | CHECK | | storage | migrations | | CHECK | | storage | migrations | | CHECK | | storage | migrations | | CHECK | | storage | objects | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | storage | s3_multipart_uploads_parts | | CHECK | | auth | refresh_tokens | | CHECK | | auth | instances | | CHECK | | auth | schema_migrations | | CHECK | | auth | users | | CHECK | | auth | users | | CHECK | | auth | users | | CHECK | | auth | sso_providers | | CHECK | | auth | saml_relay_states | | CHECK | | auth | saml_relay_states | | CHECK | | auth | saml_relay_states | | CHECK | | auth | flow_state | | CHECK | | auth | flow_state | | CHECK | | auth | flow_state | | CHECK | | auth | flow_state | | CHECK | | auth | flow_state | | CHECK | | auth | flow_state | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | one_time_tokens | | CHECK | | auth | audit_log_entries | | CHECK | | auth | audit_log_entries | | CHECK | | auth | mfa_factors | | CHECK | | auth | mfa_factors | | CHECK | | auth | mfa_factors | | CHECK | | auth | mfa_factors | | CHECK | | auth | mfa_factors | | CHECK | | auth | mfa_factors | | CHECK | | auth | sessions | | CHECK | | auth | sessions | | CHECK | | auth | sso_domains | | CHECK | | auth | sso_domains | | CHECK | | auth | sso_domains | | CHECK | | auth | mfa_challenges | | CHECK | | auth | mfa_challenges | | CHECK | | auth | mfa_challenges | | CHECK | | auth | mfa_challenges | | CHECK | | auth | mfa_amr_claims | | CHECK | | auth | mfa_amr_claims | | CHECK | | auth | mfa_amr_claims | | CHECK | | auth | mfa_amr_claims | | CHECK | | auth | mfa_amr_claims | | CHECK | | auth | saml_providers | | CHECK | | auth | saml_providers | | CHECK | | auth | saml_providers | | CHECK | | auth | saml_providers | | CHECK | | auth | identities | | CHECK | | auth | identities | | CHECK | | auth | identities | | CHECK | | auth | identities | | CHECK | | auth | identities | | CHECK | | realtime | schema_migrations | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | subscription | | CHECK | | realtime | messages | | CHECK | | realtime | messages | | CHECK | | realtime | messages | | CHECK | | realtime | messages | | CHECK | | realtime | messages | | CHECK | | pgsodium | key | | CHECK | | pgsodium | key | | CHECK | | vault | secrets | | CHECK | | vault | secrets | | CHECK | | vault | secrets | | CHECK | | vault | secrets | | CHECK | | vault | secrets | | CHECK | | supabase_migrations | schema_migrations | | CHECK | | supabase_migrations | seed_files | | CHECK | | supabase_migrations | seed_files | | CHECK | | net | http_request_queue | | CHECK | | net | http_request_queue | | CHECK | | net | http_request_queue | | CHECK | | net | http_request_queue | | CHECK | | net | http_request_queue | | CHECK | | net | _http_response | | CHECK |