{ "id": "5830ce3b-dc0e-44a7-83d6-bc74016ca4fd", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", "tables": { "public.deck_terms": { "name": "deck_terms", "schema": "", "columns": { "deck_id": { "name": "deck_id", "type": "uuid", "primaryKey": false, "notNull": true }, "term_id": { "name": "term_id", "type": "uuid", "primaryKey": false, "notNull": true }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true }, "added_at": { "name": "added_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_deck_terms_term": { "name": "idx_deck_terms_term", "columns": [ { "expression": "term_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "deck_terms_deck_id_decks_id_fk": { "name": "deck_terms_deck_id_decks_id_fk", "tableFrom": "deck_terms", "tableTo": "decks", "columnsFrom": [ "deck_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "deck_terms_term_id_terms_id_fk": { "name": "deck_terms_term_id_terms_id_fk", "tableFrom": "deck_terms", "tableTo": "terms", "columnsFrom": [ "term_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": { "deck_terms_deck_id_term_id_pk": { "name": "deck_terms_deck_id_term_id_pk", "columns": [ "deck_id", "term_id" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.decks": { "name": "decks", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "language_pair_id": { "name": "language_pair_id", "type": "uuid", "primaryKey": false, "notNull": true }, "created_by": { "name": "created_by", "type": "uuid", "primaryKey": false, "notNull": true }, "is_public": { "name": "is_public", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_decks_created_by": { "name": "idx_decks_created_by", "columns": [ { "expression": "created_by", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "idx_decks_language_pair": { "name": "idx_decks_language_pair", "columns": [ { "expression": "language_pair_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "decks_language_pair_id_language_pairs_id_fk": { "name": "decks_language_pair_id_language_pairs_id_fk", "tableFrom": "decks", "tableTo": "language_pairs", "columnsFrom": [ "language_pair_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "decks_created_by_users_id_fk": { "name": "decks_created_by_users_id_fk", "tableFrom": "decks", "tableTo": "users", "columnsFrom": [ "created_by" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_deck_name": { "name": "unique_deck_name", "nullsNotDistinct": false, "columns": [ "name", "created_by" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.language_pairs": { "name": "language_pairs", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "source_language": { "name": "source_language", "type": "varchar(10)", "primaryKey": false, "notNull": true }, "target_language": { "name": "target_language", "type": "varchar(10)", "primaryKey": false, "notNull": true }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": false }, "active": { "name": "active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_pairs_active": { "name": "idx_pairs_active", "columns": [ { "expression": "active", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "source_language", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "target_language", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_source_target": { "name": "unique_source_target", "nullsNotDistinct": false, "columns": [ "source_language", "target_language" ] } }, "policies": {}, "checkConstraints": { "source_language_check": { "name": "source_language_check", "value": "\"language_pairs\".\"source_language\" IN ('en', 'it')" }, "target_language_check": { "name": "target_language_check", "value": "\"language_pairs\".\"target_language\" IN ('en', 'it')" }, "no_self_pair": { "name": "no_self_pair", "value": "\"language_pairs\".\"source_language\" != \"language_pairs\".\"target_language\"" } }, "isRLSEnabled": false }, "public.term_glosses": { "name": "term_glosses", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "term_id": { "name": "term_id", "type": "uuid", "primaryKey": false, "notNull": true }, "language_code": { "name": "language_code", "type": "varchar(10)", "primaryKey": false, "notNull": true }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_term_glosses_term": { "name": "idx_term_glosses_term", "columns": [ { "expression": "term_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "term_glosses_term_id_terms_id_fk": { "name": "term_glosses_term_id_terms_id_fk", "tableFrom": "term_glosses", "tableTo": "terms", "columnsFrom": [ "term_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_term_gloss": { "name": "unique_term_gloss", "nullsNotDistinct": false, "columns": [ "term_id", "language_code", "text" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.terms": { "name": "terms", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "synset_id": { "name": "synset_id", "type": "text", "primaryKey": false, "notNull": true }, "pos": { "name": "pos", "type": "varchar(20)", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_terms_pos": { "name": "idx_terms_pos", "columns": [ { "expression": "pos", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "terms_synset_id_unique": { "name": "terms_synset_id_unique", "nullsNotDistinct": false, "columns": [ "synset_id" ] } }, "policies": {}, "checkConstraints": { "pos_check": { "name": "pos_check", "value": "\"terms\".\"pos\" IN ('noun')" } }, "isRLSEnabled": false }, "public.translations": { "name": "translations", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "term_id": { "name": "term_id", "type": "uuid", "primaryKey": false, "notNull": true }, "language_code": { "name": "language_code", "type": "varchar(10)", "primaryKey": false, "notNull": true }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "idx_translations_lang": { "name": "idx_translations_lang", "columns": [ { "expression": "language_code", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "term_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "translations_term_id_terms_id_fk": { "name": "translations_term_id_terms_id_fk", "tableFrom": "translations", "tableTo": "terms", "columnsFrom": [ "term_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "unique_translations": { "name": "unique_translations", "nullsNotDistinct": false, "columns": [ "term_id", "language_code", "text" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "openauth_sub": { "name": "openauth_sub", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "varchar(255)", "primaryKey": false, "notNull": false }, "display_name": { "name": "display_name", "type": "varchar(100)", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "last_login_at": { "name": "last_login_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "users_openauth_sub_unique": { "name": "users_openauth_sub_unique", "nullsNotDistinct": false, "columns": [ "openauth_sub" ] }, "users_email_unique": { "name": "users_email_unique", "nullsNotDistinct": false, "columns": [ "email" ] }, "users_display_name_unique": { "name": "users_display_name_unique", "nullsNotDistinct": false, "columns": [ "display_name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }