587 lines
No EOL
15 KiB
JSON
587 lines
No EOL
15 KiB
JSON
{
|
|
"id": "d6bed73d-ee69-44b1-a3ce-3ae25898a6f0",
|
|
"prevId": "5830ce3b-dc0e-44a7-83d6-bc74016ca4fd",
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"validated_for_languages": {
|
|
"name": "validated_for_languages",
|
|
"type": "varchar(10)[]",
|
|
"primaryKey": false,
|
|
"notNull": true,
|
|
"default": "'{}'"
|
|
},
|
|
"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": {},
|
|
"foreignKeys": {},
|
|
"compositePrimaryKeys": {},
|
|
"uniqueConstraints": {
|
|
"unique_deck_name": {
|
|
"name": "unique_deck_name",
|
|
"nullsNotDistinct": false,
|
|
"columns": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"policies": {},
|
|
"checkConstraints": {
|
|
"validated_languages_check": {
|
|
"name": "validated_languages_check",
|
|
"value": "validated_for_languages <@ ARRAY['en', 'it']::varchar[]"
|
|
}
|
|
},
|
|
"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": {}
|
|
}
|
|
} |