From efeeeca8f526c2dc8dfe597270ac54fc2d5ee28e Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Fri, 15 May 2026 16:43:36 +0100 Subject: [PATCH] feat(cms): unify SEO via plugin for all globals + fix migrate CLI - seoPlugin extended to cover 7 globals (home, dyvolis, group-visits, birthday, tickets, checkout, thank-you) with tabbedUI, generateURL, generateTitle from heroTitle, generateDescription from heroSubtitle - Remove manual metaTitle/metaDescription fields from 4 globals (BirthdayPage, GroupVisitsPage, TicketsPage, DyvoLisPage) - Update 5 page files to read meta?.title/description from seoPlugin - blog/[slug] now uses post.meta?.title from plugin instead of raw title - pnpm migrate/migrate:create/migrate:status scripts fixed with NODE_OPTIONS='--import tsx' (resolves Node.js v26 + tsx incompatibility) - Initial full-schema migration 20260515_153940.ts created as baseline Co-Authored-By: Claude Sonnet 4.6 --- migrations/20260515_153940.json | 10120 ++++++++++++++++ migrations/20260515_153940.ts | 1389 +++ migrations/index.ts | 9 + package.json | 7 +- payload.config.ts | 80 +- src/app/(frontend)/blog/[slug]/page.tsx | 7 +- src/app/(frontend)/dni-narodzhennia/page.tsx | 6 +- .../(frontend)/grupovi-vidviduvannia/page.tsx | 4 +- src/app/(frontend)/kvytky/page.tsx | 4 +- src/app/(frontend)/lokatsii/dyvolis/page.tsx | 13 +- src/globals/BirthdayPage.ts | 13 - src/globals/DyvoLisPage.ts | 13 - src/globals/GroupVisitsPage.ts | 13 - src/globals/TicketsPage.ts | 12 - 14 files changed, 11598 insertions(+), 92 deletions(-) create mode 100644 migrations/20260515_153940.json create mode 100644 migrations/20260515_153940.ts create mode 100644 migrations/index.ts diff --git a/migrations/20260515_153940.json b/migrations/20260515_153940.json new file mode 100644 index 0000000..defd1e4 --- /dev/null +++ b/migrations/20260515_153940.json @@ -0,0 +1,10120 @@ +{ + "version": "7", + "dialect": "postgresql", + "tables": { + "public.users_sessions": { + "name": "users_sessions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_sessions_order_idx": { + "name": "users_sessions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_sessions_parent_id_idx": { + "name": "users_sessions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_sessions_parent_id_fk": { + "name": "users_sessions_parent_id_fk", + "tableFrom": "users_sessions", + "tableTo": "users", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "enum_users_role", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'editor'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_email_idx": { + "name": "users_email_idx", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_updated_at_idx": { + "name": "media_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_created_at_idx": { + "name": "media_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_filename_idx": { + "name": "media_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_hero": { + "name": "pages_blocks_hero", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "background_type": { + "name": "background_type", + "type": "enum_pages_blocks_hero_background_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'image'" + }, + "background_image_id": { + "name": "background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "background_video_url": { + "name": "background_video_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_hero_order_idx": { + "name": "pages_blocks_hero_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_parent_id_idx": { + "name": "pages_blocks_hero_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_path_idx": { + "name": "pages_blocks_hero_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_background_image_idx": { + "name": "pages_blocks_hero_background_image_idx", + "columns": [ + { + "expression": "background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_hero_background_image_id_media_id_fk": { + "name": "pages_blocks_hero_background_image_id_media_id_fk", + "tableFrom": "pages_blocks_hero", + "tableTo": "media", + "columnsFrom": ["background_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_hero_parent_id_fk": { + "name": "pages_blocks_hero_parent_id_fk", + "tableFrom": "pages_blocks_hero", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_locations_teaser_locations": { + "name": "pages_blocks_locations_teaser_locations", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_locations_teaser_locations_order_idx": { + "name": "pages_blocks_locations_teaser_locations_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_locations_teaser_locations_parent_id_idx": { + "name": "pages_blocks_locations_teaser_locations_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_locations_teaser_locations_image_idx": { + "name": "pages_blocks_locations_teaser_locations_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_locations_teaser_locations_image_id_media_id_fk": { + "name": "pages_blocks_locations_teaser_locations_image_id_media_id_fk", + "tableFrom": "pages_blocks_locations_teaser_locations", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_locations_teaser_locations_parent_id_fk": { + "name": "pages_blocks_locations_teaser_locations_parent_id_fk", + "tableFrom": "pages_blocks_locations_teaser_locations", + "tableTo": "pages_blocks_locations_teaser", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_locations_teaser": { + "name": "pages_blocks_locations_teaser", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_locations_teaser_order_idx": { + "name": "pages_blocks_locations_teaser_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_locations_teaser_parent_id_idx": { + "name": "pages_blocks_locations_teaser_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_locations_teaser_path_idx": { + "name": "pages_blocks_locations_teaser_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_locations_teaser_parent_id_fk": { + "name": "pages_blocks_locations_teaser_parent_id_fk", + "tableFrom": "pages_blocks_locations_teaser", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_features_items": { + "name": "pages_blocks_features_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_features_items_order_idx": { + "name": "pages_blocks_features_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_features_items_parent_id_idx": { + "name": "pages_blocks_features_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_features_items_parent_id_fk": { + "name": "pages_blocks_features_items_parent_id_fk", + "tableFrom": "pages_blocks_features_items", + "tableTo": "pages_blocks_features", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_features": { + "name": "pages_blocks_features", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_features_order_idx": { + "name": "pages_blocks_features_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_features_parent_id_idx": { + "name": "pages_blocks_features_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_features_path_idx": { + "name": "pages_blocks_features_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_features_parent_id_fk": { + "name": "pages_blocks_features_parent_id_fk", + "tableFrom": "pages_blocks_features", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_news_block": { + "name": "pages_blocks_news_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Новини'" + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_news_block_order_idx": { + "name": "pages_blocks_news_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_news_block_parent_id_idx": { + "name": "pages_blocks_news_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_news_block_path_idx": { + "name": "pages_blocks_news_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_news_block_parent_id_fk": { + "name": "pages_blocks_news_block_parent_id_fk", + "tableFrom": "pages_blocks_news_block", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_newsletter_form": { + "name": "pages_blocks_newsletter_form", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Підписатися'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_newsletter_form_order_idx": { + "name": "pages_blocks_newsletter_form_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_form_parent_id_idx": { + "name": "pages_blocks_newsletter_form_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_form_path_idx": { + "name": "pages_blocks_newsletter_form_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_newsletter_form_parent_id_fk": { + "name": "pages_blocks_newsletter_form_parent_id_fk", + "tableFrom": "pages_blocks_newsletter_form", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_gallery_images": { + "name": "pages_blocks_gallery_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_gallery_images_order_idx": { + "name": "pages_blocks_gallery_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_gallery_images_parent_id_idx": { + "name": "pages_blocks_gallery_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_gallery_images_image_idx": { + "name": "pages_blocks_gallery_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_gallery_images_image_id_media_id_fk": { + "name": "pages_blocks_gallery_images_image_id_media_id_fk", + "tableFrom": "pages_blocks_gallery_images", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_gallery_images_parent_id_fk": { + "name": "pages_blocks_gallery_images_parent_id_fk", + "tableFrom": "pages_blocks_gallery_images", + "tableTo": "pages_blocks_gallery", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_gallery": { + "name": "pages_blocks_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_gallery_order_idx": { + "name": "pages_blocks_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_gallery_parent_id_idx": { + "name": "pages_blocks_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_gallery_path_idx": { + "name": "pages_blocks_gallery_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_gallery_parent_id_fk": { + "name": "pages_blocks_gallery_parent_id_fk", + "tableFrom": "pages_blocks_gallery", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_rich_text": { + "name": "pages_blocks_rich_text", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_rich_text_order_idx": { + "name": "pages_blocks_rich_text_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_rich_text_parent_id_idx": { + "name": "pages_blocks_rich_text_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_rich_text_path_idx": { + "name": "pages_blocks_rich_text_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_rich_text_parent_id_fk": { + "name": "pages_blocks_rich_text_parent_id_fk", + "tableFrom": "pages_blocks_rich_text", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_image_block": { + "name": "pages_blocks_image_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "full_width": { + "name": "full_width", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_image_block_order_idx": { + "name": "pages_blocks_image_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_block_parent_id_idx": { + "name": "pages_blocks_image_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_block_path_idx": { + "name": "pages_blocks_image_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_block_image_idx": { + "name": "pages_blocks_image_block_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_image_block_image_id_media_id_fk": { + "name": "pages_blocks_image_block_image_id_media_id_fk", + "tableFrom": "pages_blocks_image_block", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_image_block_parent_id_fk": { + "name": "pages_blocks_image_block_parent_id_fk", + "tableFrom": "pages_blocks_image_block", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_video_block": { + "name": "pages_blocks_video_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "video_url": { + "name": "video_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "autoplay": { + "name": "autoplay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_video_block_order_idx": { + "name": "pages_blocks_video_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_video_block_parent_id_idx": { + "name": "pages_blocks_video_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_video_block_path_idx": { + "name": "pages_blocks_video_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_video_block_parent_id_fk": { + "name": "pages_blocks_video_block_parent_id_fk", + "tableFrom": "pages_blocks_video_block", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_lead_form": { + "name": "pages_blocks_lead_form", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "form_source": { + "name": "form_source", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_phone": { + "name": "show_phone", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_email": { + "name": "show_email", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Відправити'" + }, + "success_message": { + "name": "success_message", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Дякуємо! Ми зв''яжемося з вами найближчим часом.'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_lead_form_order_idx": { + "name": "pages_blocks_lead_form_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_lead_form_parent_id_idx": { + "name": "pages_blocks_lead_form_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_lead_form_path_idx": { + "name": "pages_blocks_lead_form_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_lead_form_parent_id_fk": { + "name": "pages_blocks_lead_form_parent_id_fk", + "tableFrom": "pages_blocks_lead_form", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_pricing_block": { + "name": "pages_blocks_pricing_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_only_visible": { + "name": "show_only_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Купити квиток'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_pricing_block_order_idx": { + "name": "pages_blocks_pricing_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_pricing_block_parent_id_idx": { + "name": "pages_blocks_pricing_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_pricing_block_path_idx": { + "name": "pages_blocks_pricing_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_pricing_block_parent_id_fk": { + "name": "pages_blocks_pricing_block_parent_id_fk", + "tableFrom": "pages_blocks_pricing_block", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_cta": { + "name": "pages_blocks_cta", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "variant": { + "name": "variant", + "type": "enum_pages_blocks_cta_variant", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_cta_order_idx": { + "name": "pages_blocks_cta_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_cta_parent_id_idx": { + "name": "pages_blocks_cta_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_cta_path_idx": { + "name": "pages_blocks_cta_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_cta_parent_id_fk": { + "name": "pages_blocks_cta_parent_id_fk", + "tableFrom": "pages_blocks_cta", + "tableTo": "pages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages": { + "name": "pages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_pages_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "_status": { + "name": "_status", + "type": "enum_pages_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + } + }, + "indexes": { + "pages_slug_idx": { + "name": "pages_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_meta_meta_image_idx": { + "name": "pages_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_updated_at_idx": { + "name": "pages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_created_at_idx": { + "name": "pages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages__status_idx": { + "name": "pages__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_meta_image_id_media_id_fk": { + "name": "pages_meta_image_id_media_id_fk", + "tableFrom": "pages", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_hero": { + "name": "_pages_v_blocks_hero", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "background_type": { + "name": "background_type", + "type": "enum__pages_v_blocks_hero_background_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'image'" + }, + "background_image_id": { + "name": "background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "background_video_url": { + "name": "background_video_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_hero_order_idx": { + "name": "_pages_v_blocks_hero_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_hero_parent_id_idx": { + "name": "_pages_v_blocks_hero_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_hero_path_idx": { + "name": "_pages_v_blocks_hero_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_hero_background_image_idx": { + "name": "_pages_v_blocks_hero_background_image_idx", + "columns": [ + { + "expression": "background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_hero_background_image_id_media_id_fk": { + "name": "_pages_v_blocks_hero_background_image_id_media_id_fk", + "tableFrom": "_pages_v_blocks_hero", + "tableTo": "media", + "columnsFrom": ["background_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_pages_v_blocks_hero_parent_id_fk": { + "name": "_pages_v_blocks_hero_parent_id_fk", + "tableFrom": "_pages_v_blocks_hero", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_locations_teaser_locations": { + "name": "_pages_v_blocks_locations_teaser_locations", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_locations_teaser_locations_order_idx": { + "name": "_pages_v_blocks_locations_teaser_locations_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_locations_teaser_locations_parent_id_idx": { + "name": "_pages_v_blocks_locations_teaser_locations_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_locations_teaser_locations_image_idx": { + "name": "_pages_v_blocks_locations_teaser_locations_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_locations_teaser_locations_image_id_media_id_fk": { + "name": "_pages_v_blocks_locations_teaser_locations_image_id_media_id_fk", + "tableFrom": "_pages_v_blocks_locations_teaser_locations", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_pages_v_blocks_locations_teaser_locations_parent_id_fk": { + "name": "_pages_v_blocks_locations_teaser_locations_parent_id_fk", + "tableFrom": "_pages_v_blocks_locations_teaser_locations", + "tableTo": "_pages_v_blocks_locations_teaser", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_locations_teaser": { + "name": "_pages_v_blocks_locations_teaser", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_locations_teaser_order_idx": { + "name": "_pages_v_blocks_locations_teaser_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_locations_teaser_parent_id_idx": { + "name": "_pages_v_blocks_locations_teaser_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_locations_teaser_path_idx": { + "name": "_pages_v_blocks_locations_teaser_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_locations_teaser_parent_id_fk": { + "name": "_pages_v_blocks_locations_teaser_parent_id_fk", + "tableFrom": "_pages_v_blocks_locations_teaser", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_features_items": { + "name": "_pages_v_blocks_features_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_features_items_order_idx": { + "name": "_pages_v_blocks_features_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_features_items_parent_id_idx": { + "name": "_pages_v_blocks_features_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_features_items_parent_id_fk": { + "name": "_pages_v_blocks_features_items_parent_id_fk", + "tableFrom": "_pages_v_blocks_features_items", + "tableTo": "_pages_v_blocks_features", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_features": { + "name": "_pages_v_blocks_features", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_features_order_idx": { + "name": "_pages_v_blocks_features_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_features_parent_id_idx": { + "name": "_pages_v_blocks_features_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_features_path_idx": { + "name": "_pages_v_blocks_features_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_features_parent_id_fk": { + "name": "_pages_v_blocks_features_parent_id_fk", + "tableFrom": "_pages_v_blocks_features", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_news_block": { + "name": "_pages_v_blocks_news_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Новини'" + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_news_block_order_idx": { + "name": "_pages_v_blocks_news_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_news_block_parent_id_idx": { + "name": "_pages_v_blocks_news_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_news_block_path_idx": { + "name": "_pages_v_blocks_news_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_news_block_parent_id_fk": { + "name": "_pages_v_blocks_news_block_parent_id_fk", + "tableFrom": "_pages_v_blocks_news_block", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_newsletter_form": { + "name": "_pages_v_blocks_newsletter_form", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Підписатися'" + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_newsletter_form_order_idx": { + "name": "_pages_v_blocks_newsletter_form_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_newsletter_form_parent_id_idx": { + "name": "_pages_v_blocks_newsletter_form_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_newsletter_form_path_idx": { + "name": "_pages_v_blocks_newsletter_form_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_newsletter_form_parent_id_fk": { + "name": "_pages_v_blocks_newsletter_form_parent_id_fk", + "tableFrom": "_pages_v_blocks_newsletter_form", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_gallery_images": { + "name": "_pages_v_blocks_gallery_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_gallery_images_order_idx": { + "name": "_pages_v_blocks_gallery_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_gallery_images_parent_id_idx": { + "name": "_pages_v_blocks_gallery_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_gallery_images_image_idx": { + "name": "_pages_v_blocks_gallery_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_gallery_images_image_id_media_id_fk": { + "name": "_pages_v_blocks_gallery_images_image_id_media_id_fk", + "tableFrom": "_pages_v_blocks_gallery_images", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_pages_v_blocks_gallery_images_parent_id_fk": { + "name": "_pages_v_blocks_gallery_images_parent_id_fk", + "tableFrom": "_pages_v_blocks_gallery_images", + "tableTo": "_pages_v_blocks_gallery", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_gallery": { + "name": "_pages_v_blocks_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_gallery_order_idx": { + "name": "_pages_v_blocks_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_gallery_parent_id_idx": { + "name": "_pages_v_blocks_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_gallery_path_idx": { + "name": "_pages_v_blocks_gallery_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_gallery_parent_id_fk": { + "name": "_pages_v_blocks_gallery_parent_id_fk", + "tableFrom": "_pages_v_blocks_gallery", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_rich_text": { + "name": "_pages_v_blocks_rich_text", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_rich_text_order_idx": { + "name": "_pages_v_blocks_rich_text_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_rich_text_parent_id_idx": { + "name": "_pages_v_blocks_rich_text_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_rich_text_path_idx": { + "name": "_pages_v_blocks_rich_text_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_rich_text_parent_id_fk": { + "name": "_pages_v_blocks_rich_text_parent_id_fk", + "tableFrom": "_pages_v_blocks_rich_text", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_image_block": { + "name": "_pages_v_blocks_image_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "full_width": { + "name": "full_width", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_image_block_order_idx": { + "name": "_pages_v_blocks_image_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_image_block_parent_id_idx": { + "name": "_pages_v_blocks_image_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_image_block_path_idx": { + "name": "_pages_v_blocks_image_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_image_block_image_idx": { + "name": "_pages_v_blocks_image_block_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_image_block_image_id_media_id_fk": { + "name": "_pages_v_blocks_image_block_image_id_media_id_fk", + "tableFrom": "_pages_v_blocks_image_block", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_pages_v_blocks_image_block_parent_id_fk": { + "name": "_pages_v_blocks_image_block_parent_id_fk", + "tableFrom": "_pages_v_blocks_image_block", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_video_block": { + "name": "_pages_v_blocks_video_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "video_url": { + "name": "video_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "autoplay": { + "name": "autoplay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_video_block_order_idx": { + "name": "_pages_v_blocks_video_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_video_block_parent_id_idx": { + "name": "_pages_v_blocks_video_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_video_block_path_idx": { + "name": "_pages_v_blocks_video_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_video_block_parent_id_fk": { + "name": "_pages_v_blocks_video_block_parent_id_fk", + "tableFrom": "_pages_v_blocks_video_block", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_lead_form": { + "name": "_pages_v_blocks_lead_form", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "form_source": { + "name": "form_source", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_phone": { + "name": "show_phone", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_email": { + "name": "show_email", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Відправити'" + }, + "success_message": { + "name": "success_message", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Дякуємо! Ми зв''яжемося з вами найближчим часом.'" + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_lead_form_order_idx": { + "name": "_pages_v_blocks_lead_form_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_lead_form_parent_id_idx": { + "name": "_pages_v_blocks_lead_form_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_lead_form_path_idx": { + "name": "_pages_v_blocks_lead_form_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_lead_form_parent_id_fk": { + "name": "_pages_v_blocks_lead_form_parent_id_fk", + "tableFrom": "_pages_v_blocks_lead_form", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_pricing_block": { + "name": "_pages_v_blocks_pricing_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_only_visible": { + "name": "show_only_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Купити квиток'" + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_pricing_block_order_idx": { + "name": "_pages_v_blocks_pricing_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_pricing_block_parent_id_idx": { + "name": "_pages_v_blocks_pricing_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_pricing_block_path_idx": { + "name": "_pages_v_blocks_pricing_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_pricing_block_parent_id_fk": { + "name": "_pages_v_blocks_pricing_block_parent_id_fk", + "tableFrom": "_pages_v_blocks_pricing_block", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v_blocks_cta": { + "name": "_pages_v_blocks_cta", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "variant": { + "name": "variant", + "type": "enum__pages_v_blocks_cta_variant", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_blocks_cta_order_idx": { + "name": "_pages_v_blocks_cta_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_cta_parent_id_idx": { + "name": "_pages_v_blocks_cta_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_blocks_cta_path_idx": { + "name": "_pages_v_blocks_cta_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_blocks_cta_parent_id_fk": { + "name": "_pages_v_blocks_cta_parent_id_fk", + "tableFrom": "_pages_v_blocks_cta", + "tableTo": "_pages_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._pages_v": { + "name": "_pages_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_title": { + "name": "version_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_slug": { + "name": "version_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_status": { + "name": "version_status", + "type": "enum__pages_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_meta_title": { + "name": "version_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_meta_description": { + "name": "version_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_meta_image_id": { + "name": "version_meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__pages_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_pages_v_parent_idx": { + "name": "_pages_v_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_version_version_slug_idx": { + "name": "_pages_v_version_version_slug_idx", + "columns": [ + { + "expression": "version_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_version_meta_version_meta_image_idx": { + "name": "_pages_v_version_meta_version_meta_image_idx", + "columns": [ + { + "expression": "version_meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_version_version_updated_at_idx": { + "name": "_pages_v_version_version_updated_at_idx", + "columns": [ + { + "expression": "version_updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_version_version_created_at_idx": { + "name": "_pages_v_version_version_created_at_idx", + "columns": [ + { + "expression": "version_created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_version_version__status_idx": { + "name": "_pages_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_created_at_idx": { + "name": "_pages_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_updated_at_idx": { + "name": "_pages_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_pages_v_latest_idx": { + "name": "_pages_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_pages_v_parent_id_pages_id_fk": { + "name": "_pages_v_parent_id_pages_id_fk", + "tableFrom": "_pages_v", + "tableTo": "pages", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_pages_v_version_meta_image_id_media_id_fk": { + "name": "_pages_v_version_meta_image_id_media_id_fk", + "tableFrom": "_pages_v", + "tableTo": "media", + "columnsFrom": ["version_meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.blog_posts": { + "name": "blog_posts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "published_at": { + "name": "published_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "hero_id": { + "name": "hero_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "body": { + "name": "body", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "excerpt": { + "name": "excerpt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_blog_posts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "_status": { + "name": "_status", + "type": "enum_blog_posts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + } + }, + "indexes": { + "blog_posts_slug_idx": { + "name": "blog_posts_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_hero_idx": { + "name": "blog_posts_hero_idx", + "columns": [ + { + "expression": "hero_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_meta_meta_image_idx": { + "name": "blog_posts_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_updated_at_idx": { + "name": "blog_posts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_created_at_idx": { + "name": "blog_posts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts__status_idx": { + "name": "blog_posts__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "blog_posts_hero_id_media_id_fk": { + "name": "blog_posts_hero_id_media_id_fk", + "tableFrom": "blog_posts", + "tableTo": "media", + "columnsFrom": ["hero_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "blog_posts_meta_image_id_media_id_fk": { + "name": "blog_posts_meta_image_id_media_id_fk", + "tableFrom": "blog_posts", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.blog_posts_rels": { + "name": "blog_posts_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tags_id": { + "name": "tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "blog_posts_rels_order_idx": { + "name": "blog_posts_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_rels_parent_idx": { + "name": "blog_posts_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_rels_path_idx": { + "name": "blog_posts_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_rels_categories_id_idx": { + "name": "blog_posts_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "blog_posts_rels_tags_id_idx": { + "name": "blog_posts_rels_tags_id_idx", + "columns": [ + { + "expression": "tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "blog_posts_rels_parent_fk": { + "name": "blog_posts_rels_parent_fk", + "tableFrom": "blog_posts_rels", + "tableTo": "blog_posts", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "blog_posts_rels_categories_fk": { + "name": "blog_posts_rels_categories_fk", + "tableFrom": "blog_posts_rels", + "tableTo": "categories", + "columnsFrom": ["categories_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "blog_posts_rels_tags_fk": { + "name": "blog_posts_rels_tags_fk", + "tableFrom": "blog_posts_rels", + "tableTo": "tags", + "columnsFrom": ["tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._blog_posts_v": { + "name": "_blog_posts_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_title": { + "name": "version_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_slug": { + "name": "version_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_published_at": { + "name": "version_published_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_hero_id": { + "name": "version_hero_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_body": { + "name": "version_body", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_excerpt": { + "name": "version_excerpt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_status": { + "name": "version_status", + "type": "enum__blog_posts_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_meta_title": { + "name": "version_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_meta_description": { + "name": "version_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_meta_image_id": { + "name": "version_meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__blog_posts_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_blog_posts_v_parent_idx": { + "name": "_blog_posts_v_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_version_slug_idx": { + "name": "_blog_posts_v_version_version_slug_idx", + "columns": [ + { + "expression": "version_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_version_hero_idx": { + "name": "_blog_posts_v_version_version_hero_idx", + "columns": [ + { + "expression": "version_hero_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_meta_version_meta_image_idx": { + "name": "_blog_posts_v_version_meta_version_meta_image_idx", + "columns": [ + { + "expression": "version_meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_version_updated_at_idx": { + "name": "_blog_posts_v_version_version_updated_at_idx", + "columns": [ + { + "expression": "version_updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_version_created_at_idx": { + "name": "_blog_posts_v_version_version_created_at_idx", + "columns": [ + { + "expression": "version_created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_version_version__status_idx": { + "name": "_blog_posts_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_created_at_idx": { + "name": "_blog_posts_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_updated_at_idx": { + "name": "_blog_posts_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_latest_idx": { + "name": "_blog_posts_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_blog_posts_v_parent_id_blog_posts_id_fk": { + "name": "_blog_posts_v_parent_id_blog_posts_id_fk", + "tableFrom": "_blog_posts_v", + "tableTo": "blog_posts", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_blog_posts_v_version_hero_id_media_id_fk": { + "name": "_blog_posts_v_version_hero_id_media_id_fk", + "tableFrom": "_blog_posts_v", + "tableTo": "media", + "columnsFrom": ["version_hero_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_blog_posts_v_version_meta_image_id_media_id_fk": { + "name": "_blog_posts_v_version_meta_image_id_media_id_fk", + "tableFrom": "_blog_posts_v", + "tableTo": "media", + "columnsFrom": ["version_meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._blog_posts_v_rels": { + "name": "_blog_posts_v_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tags_id": { + "name": "tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_blog_posts_v_rels_order_idx": { + "name": "_blog_posts_v_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_rels_parent_idx": { + "name": "_blog_posts_v_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_rels_path_idx": { + "name": "_blog_posts_v_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_rels_categories_id_idx": { + "name": "_blog_posts_v_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_blog_posts_v_rels_tags_id_idx": { + "name": "_blog_posts_v_rels_tags_id_idx", + "columns": [ + { + "expression": "tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_blog_posts_v_rels_parent_fk": { + "name": "_blog_posts_v_rels_parent_fk", + "tableFrom": "_blog_posts_v_rels", + "tableTo": "_blog_posts_v", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "_blog_posts_v_rels_categories_fk": { + "name": "_blog_posts_v_rels_categories_fk", + "tableFrom": "_blog_posts_v_rels", + "tableTo": "categories", + "columnsFrom": ["categories_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "_blog_posts_v_rels_tags_fk": { + "name": "_blog_posts_v_rels_tags_fk", + "tableFrom": "_blog_posts_v_rels", + "tableTo": "tags", + "columnsFrom": ["tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.categories": { + "name": "categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "categories_slug_idx": { + "name": "categories_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "categories_updated_at_idx": { + "name": "categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "categories_created_at_idx": { + "name": "categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tags": { + "name": "tags", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "tags_slug_idx": { + "name": "tags_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tags_updated_at_idx": { + "name": "tags_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tags_created_at_idx": { + "name": "tags_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tariffs": { + "name": "tariffs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "ezy_id": { + "name": "ezy_id", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "display_name": { + "name": "display_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "category_tag": { + "name": "category_tag", + "type": "enum_tariffs_category_tag", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "sort": { + "name": "sort", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "visible": { + "name": "visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "last_synced_name": { + "name": "last_synced_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "last_synced_price": { + "name": "last_synced_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "last_synced_at": { + "name": "last_synced_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "tariffs_ezy_id_idx": { + "name": "tariffs_ezy_id_idx", + "columns": [ + { + "expression": "ezy_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tariffs_image_idx": { + "name": "tariffs_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tariffs_updated_at_idx": { + "name": "tariffs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tariffs_created_at_idx": { + "name": "tariffs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tariffs_image_id_media_id_fk": { + "name": "tariffs_image_id_media_id_fk", + "tableFrom": "tariffs", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.leads": { + "name": "leads", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "phone": { + "name": "phone", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "form_source": { + "name": "form_source", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "utm_source": { + "name": "utm_source", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "utm_medium": { + "name": "utm_medium", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "utm_campaign": { + "name": "utm_campaign", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "utm_content": { + "name": "utm_content", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "utm_term": { + "name": "utm_term", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "gclid": { + "name": "gclid", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_leads_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'new'" + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "group_size": { + "name": "group_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "preferred_date": { + "name": "preferred_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "package_slug": { + "name": "package_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "last_call_at": { + "name": "last_call_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "leads_updated_at_idx": { + "name": "leads_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "leads_created_at_idx": { + "name": "leads_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.orders_items": { + "name": "orders_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "tariff_id": { + "name": "tariff_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "count": { + "name": "count", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "orders_items_order_idx": { + "name": "orders_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "orders_items_parent_id_idx": { + "name": "orders_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "orders_items_parent_id_fk": { + "name": "orders_items_parent_id_fk", + "tableFrom": "orders_items", + "tableTo": "orders", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.orders": { + "name": "orders", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "phone": { + "name": "phone", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "monobank_url": { + "name": "monobank_url", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_orders_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'redirected_to_payment'" + }, + "ezy_activity": { + "name": "ezy_activity", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "orders_updated_at_idx": { + "name": "orders_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "orders_created_at_idx": { + "name": "orders_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locations_gallery": { + "name": "locations_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "locations_gallery_order_idx": { + "name": "locations_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_gallery_parent_id_idx": { + "name": "locations_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_gallery_image_idx": { + "name": "locations_gallery_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locations_gallery_image_id_media_id_fk": { + "name": "locations_gallery_image_id_media_id_fk", + "tableFrom": "locations_gallery", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locations_gallery_parent_id_fk": { + "name": "locations_gallery_parent_id_fk", + "tableFrom": "locations_gallery", + "tableTo": "locations", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locations": { + "name": "locations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "tagline": { + "name": "tagline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "short_desc": { + "name": "short_desc", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_in_menu": { + "name": "show_in_menu", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_on_home": { + "name": "show_on_home", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "sort": { + "name": "sort", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "locations_slug_idx": { + "name": "locations_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_image_idx": { + "name": "locations_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_meta_meta_image_idx": { + "name": "locations_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_updated_at_idx": { + "name": "locations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locations_created_at_idx": { + "name": "locations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locations_image_id_media_id_fk": { + "name": "locations_image_id_media_id_fk", + "tableFrom": "locations", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locations_meta_image_id_media_id_fk": { + "name": "locations_meta_image_id_media_id_fk", + "tableFrom": "locations", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.reviews": { + "name": "reviews", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "initial": { + "name": "initial", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "avatar_bg_id": { + "name": "avatar_bg_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ago": { + "name": "ago", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "rating": { + "name": "rating", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5 + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "source": { + "name": "source", + "type": "enum_reviews_source", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'google'" + }, + "video_url": { + "name": "video_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "video_poster": { + "name": "video_poster", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_on_home": { + "name": "show_on_home", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "sort": { + "name": "sort", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "reviews_avatar_bg_idx": { + "name": "reviews_avatar_bg_idx", + "columns": [ + { + "expression": "avatar_bg_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "reviews_updated_at_idx": { + "name": "reviews_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "reviews_created_at_idx": { + "name": "reviews_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "reviews_avatar_bg_id_media_id_fk": { + "name": "reviews_avatar_bg_id_media_id_fk", + "tableFrom": "reviews", + "tableTo": "media", + "columnsFrom": ["avatar_bg_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.birthday_packages_features": { + "name": "birthday_packages_features", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "birthday_packages_features_order_idx": { + "name": "birthday_packages_features_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "birthday_packages_features_parent_id_idx": { + "name": "birthday_packages_features_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "birthday_packages_features_parent_id_fk": { + "name": "birthday_packages_features_parent_id_fk", + "tableFrom": "birthday_packages_features", + "tableTo": "birthday_packages", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.birthday_packages": { + "name": "birthday_packages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "currency": { + "name": "currency", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'₴'" + }, + "price_label": { + "name": "price_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "featured": { + "name": "featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "badge": { + "name": "badge", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Обрати пакет'" + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sort": { + "name": "sort", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "birthday_packages_slug_idx": { + "name": "birthday_packages_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "birthday_packages_updated_at_idx": { + "name": "birthday_packages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "birthday_packages_created_at_idx": { + "name": "birthday_packages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_kv": { + "name": "payload_kv", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "payload_kv_key_idx": { + "name": "payload_kv_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents": { + "name": "payload_locked_documents", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "pages_id": { + "name": "pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "blog_posts_id": { + "name": "blog_posts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tags_id": { + "name": "tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tariffs_id": { + "name": "tariffs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "leads_id": { + "name": "leads_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "orders_id": { + "name": "orders_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locations_id": { + "name": "locations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reviews_id": { + "name": "reviews_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "birthday_packages_id": { + "name": "birthday_packages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_pages_id_idx": { + "name": "payload_locked_documents_rels_pages_id_idx", + "columns": [ + { + "expression": "pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_blog_posts_id_idx": { + "name": "payload_locked_documents_rels_blog_posts_id_idx", + "columns": [ + { + "expression": "blog_posts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_categories_id_idx": { + "name": "payload_locked_documents_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tags_id_idx": { + "name": "payload_locked_documents_rels_tags_id_idx", + "columns": [ + { + "expression": "tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tariffs_id_idx": { + "name": "payload_locked_documents_rels_tariffs_id_idx", + "columns": [ + { + "expression": "tariffs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_leads_id_idx": { + "name": "payload_locked_documents_rels_leads_id_idx", + "columns": [ + { + "expression": "leads_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_orders_id_idx": { + "name": "payload_locked_documents_rels_orders_id_idx", + "columns": [ + { + "expression": "orders_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_locations_id_idx": { + "name": "payload_locked_documents_rels_locations_id_idx", + "columns": [ + { + "expression": "locations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_reviews_id_idx": { + "name": "payload_locked_documents_rels_reviews_id_idx", + "columns": [ + { + "expression": "reviews_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_birthday_packages_id_idx": { + "name": "payload_locked_documents_rels_birthday_packages_id_idx", + "columns": [ + { + "expression": "birthday_packages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": ["users_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": ["media_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_pages_fk": { + "name": "payload_locked_documents_rels_pages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "pages", + "columnsFrom": ["pages_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_blog_posts_fk": { + "name": "payload_locked_documents_rels_blog_posts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "blog_posts", + "columnsFrom": ["blog_posts_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_categories_fk": { + "name": "payload_locked_documents_rels_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "categories", + "columnsFrom": ["categories_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tags_fk": { + "name": "payload_locked_documents_rels_tags_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tags", + "columnsFrom": ["tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tariffs_fk": { + "name": "payload_locked_documents_rels_tariffs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tariffs", + "columnsFrom": ["tariffs_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_leads_fk": { + "name": "payload_locked_documents_rels_leads_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "leads", + "columnsFrom": ["leads_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_orders_fk": { + "name": "payload_locked_documents_rels_orders_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "orders", + "columnsFrom": ["orders_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_locations_fk": { + "name": "payload_locked_documents_rels_locations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "locations", + "columnsFrom": ["locations_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_reviews_fk": { + "name": "payload_locked_documents_rels_reviews_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "reviews", + "columnsFrom": ["reviews_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_birthday_packages_fk": { + "name": "payload_locked_documents_rels_birthday_packages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "birthday_packages", + "columnsFrom": ["birthday_packages_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": ["users_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.home_page_why_parents_items": { + "name": "home_page_why_parents_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "home_page_why_parents_items_order_idx": { + "name": "home_page_why_parents_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_why_parents_items_parent_id_idx": { + "name": "home_page_why_parents_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "home_page_why_parents_items_parent_id_fk": { + "name": "home_page_why_parents_items_parent_id_fk", + "tableFrom": "home_page_why_parents_items", + "tableTo": "home_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.home_page_why_parents_side_gallery": { + "name": "home_page_why_parents_side_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "home_page_why_parents_side_gallery_order_idx": { + "name": "home_page_why_parents_side_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_why_parents_side_gallery_parent_id_idx": { + "name": "home_page_why_parents_side_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_why_parents_side_gallery_image_idx": { + "name": "home_page_why_parents_side_gallery_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "home_page_why_parents_side_gallery_image_id_media_id_fk": { + "name": "home_page_why_parents_side_gallery_image_id_media_id_fk", + "tableFrom": "home_page_why_parents_side_gallery", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_why_parents_side_gallery_parent_id_fk": { + "name": "home_page_why_parents_side_gallery_parent_id_fk", + "tableFrom": "home_page_why_parents_side_gallery", + "tableTo": "home_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.home_page_gallery_images": { + "name": "home_page_gallery_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "home_page_gallery_images_order_idx": { + "name": "home_page_gallery_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_gallery_images_parent_id_idx": { + "name": "home_page_gallery_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_gallery_images_image_idx": { + "name": "home_page_gallery_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "home_page_gallery_images_image_id_media_id_fk": { + "name": "home_page_gallery_images_image_id_media_id_fk", + "tableFrom": "home_page_gallery_images", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_gallery_images_parent_id_fk": { + "name": "home_page_gallery_images_parent_id_fk", + "tableFrom": "home_page_gallery_images", + "tableTo": "home_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.home_page": { + "name": "home_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "hero_title": { + "name": "hero_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_subtitle": { + "name": "hero_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_cta_label": { + "name": "hero_cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_cta_href": { + "name": "hero_cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_background_video": { + "name": "hero_background_video", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_background_image_id": { + "name": "hero_background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "hero_foreground_overlay_id": { + "name": "hero_foreground_overlay_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "hero_silhouette_overlay_id": { + "name": "hero_silhouette_overlay_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "page_hero_background_image_id": { + "name": "page_hero_background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "section_titles_locations": { + "name": "section_titles_locations", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "section_titles_why_parents": { + "name": "section_titles_why_parents", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "section_titles_birthday": { + "name": "section_titles_birthday", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "section_titles_gallery": { + "name": "section_titles_gallery", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "section_titles_reviews": { + "name": "section_titles_reviews", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "section_titles_news": { + "name": "section_titles_news", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "video_poster_id": { + "name": "video_poster_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "video_src": { + "name": "video_src", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "birthday_intro_text": { + "name": "birthday_intro_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "news_title": { + "name": "news_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "news_subtitle": { + "name": "news_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "news_limit": { + "name": "news_limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "map_embed_url": { + "name": "map_embed_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_address": { + "name": "map_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_lat": { + "name": "map_lat", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "map_lng": { + "name": "map_lng", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "home_page_hero_hero_background_image_idx": { + "name": "home_page_hero_hero_background_image_idx", + "columns": [ + { + "expression": "hero_background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_hero_hero_foreground_overlay_idx": { + "name": "home_page_hero_hero_foreground_overlay_idx", + "columns": [ + { + "expression": "hero_foreground_overlay_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_hero_hero_silhouette_overlay_idx": { + "name": "home_page_hero_hero_silhouette_overlay_idx", + "columns": [ + { + "expression": "hero_silhouette_overlay_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_page_hero_page_hero_background_image_idx": { + "name": "home_page_page_hero_page_hero_background_image_idx", + "columns": [ + { + "expression": "page_hero_background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_video_video_poster_idx": { + "name": "home_page_video_video_poster_idx", + "columns": [ + { + "expression": "video_poster_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "home_page_meta_meta_image_idx": { + "name": "home_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "home_page_hero_background_image_id_media_id_fk": { + "name": "home_page_hero_background_image_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["hero_background_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_hero_foreground_overlay_id_media_id_fk": { + "name": "home_page_hero_foreground_overlay_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["hero_foreground_overlay_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_hero_silhouette_overlay_id_media_id_fk": { + "name": "home_page_hero_silhouette_overlay_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["hero_silhouette_overlay_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_page_hero_background_image_id_media_id_fk": { + "name": "home_page_page_hero_background_image_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["page_hero_background_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_video_poster_id_media_id_fk": { + "name": "home_page_video_poster_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["video_poster_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "home_page_meta_image_id_media_id_fk": { + "name": "home_page_meta_image_id_media_id_fk", + "tableFrom": "home_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.checkout_page": { + "name": "checkout_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Оформлення замовлення'" + }, + "instructions": { + "name": "instructions", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "terms": { + "name": "terms", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "checkout_page_meta_meta_image_idx": { + "name": "checkout_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "checkout_page_meta_image_id_media_id_fk": { + "name": "checkout_page_meta_image_id_media_id_fk", + "tableFrom": "checkout_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.thank_you_page": { + "name": "thank_you_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Дякуємо за замовлення!'" + }, + "message": { + "name": "message", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "contact_phone": { + "name": "contact_phone", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'+380 (67) 000-00-00'" + }, + "contact_email": { + "name": "contact_email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "thank_you_page_meta_meta_image_idx": { + "name": "thank_you_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "thank_you_page_meta_image_id_media_id_fk": { + "name": "thank_you_page_meta_image_id_media_id_fk", + "tableFrom": "thank_you_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.header_nav_links_children": { + "name": "header_nav_links_children", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "header_nav_links_children_order_idx": { + "name": "header_nav_links_children_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "header_nav_links_children_parent_id_idx": { + "name": "header_nav_links_children_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "header_nav_links_children_parent_id_fk": { + "name": "header_nav_links_children_parent_id_fk", + "tableFrom": "header_nav_links_children", + "tableTo": "header_nav_links", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.header_nav_links": { + "name": "header_nav_links", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "open_in_new_tab": { + "name": "open_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "auto_children_from": { + "name": "auto_children_from", + "type": "enum_header_nav_links_auto_children_from", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'none'" + } + }, + "indexes": { + "header_nav_links_order_idx": { + "name": "header_nav_links_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "header_nav_links_parent_id_idx": { + "name": "header_nav_links_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "header_nav_links_parent_id_fk": { + "name": "header_nav_links_parent_id_fk", + "tableFrom": "header_nav_links", + "tableTo": "header", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.header": { + "name": "header", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "logo_id": { + "name": "logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "logo_alt": { + "name": "logo_alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "header_logo_idx": { + "name": "header_logo_idx", + "columns": [ + { + "expression": "logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "header_logo_id_media_id_fk": { + "name": "header_logo_id_media_id_fk", + "tableFrom": "header", + "tableTo": "media", + "columnsFrom": ["logo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.footer_nav_links": { + "name": "footer_nav_links", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "href": { + "name": "href", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "footer_nav_links_order_idx": { + "name": "footer_nav_links_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "footer_nav_links_parent_id_idx": { + "name": "footer_nav_links_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "footer_nav_links_parent_id_fk": { + "name": "footer_nav_links_parent_id_fk", + "tableFrom": "footer_nav_links", + "tableTo": "footer", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.footer_socials": { + "name": "footer_socials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "platform": { + "name": "platform", + "type": "enum_footer_socials_platform", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "footer_socials_order_idx": { + "name": "footer_socials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "footer_socials_parent_id_idx": { + "name": "footer_socials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "footer_socials_parent_id_fk": { + "name": "footer_socials_parent_id_fk", + "tableFrom": "footer_socials", + "tableTo": "footer", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.footer": { + "name": "footer", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "logo_id": { + "name": "logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "logo_alt": { + "name": "logo_alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contacts_phone": { + "name": "contacts_phone", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contacts_email": { + "name": "contacts_email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contacts_address": { + "name": "contacts_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "copyright_text": { + "name": "copyright_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "footer_logo_idx": { + "name": "footer_logo_idx", + "columns": [ + { + "expression": "logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "footer_logo_id_media_id_fk": { + "name": "footer_logo_id_media_id_fk", + "tableFrom": "footer", + "tableTo": "media", + "columnsFrom": ["logo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.site_settings_tariff_category_labels": { + "name": "site_settings_tariff_category_labels", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "site_settings_tariff_category_labels_order_idx": { + "name": "site_settings_tariff_category_labels_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "site_settings_tariff_category_labels_parent_id_idx": { + "name": "site_settings_tariff_category_labels_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "site_settings_tariff_category_labels_parent_id_fk": { + "name": "site_settings_tariff_category_labels_parent_id_fk", + "tableFrom": "site_settings_tariff_category_labels", + "tableTo": "site_settings", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.site_settings": { + "name": "site_settings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "ga4_id": { + "name": "ga4_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "binotel_id": { + "name": "binotel_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "telegram_chat_id": { + "name": "telegram_chat_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "resend_from": { + "name": "resend_from", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_meta_title": { + "name": "default_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_meta_description": { + "name": "default_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_og_image_id": { + "name": "default_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "site_settings_default_og_image_idx": { + "name": "site_settings_default_og_image_idx", + "columns": [ + { + "expression": "default_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "site_settings_default_og_image_id_media_id_fk": { + "name": "site_settings_default_og_image_id_media_id_fk", + "tableFrom": "site_settings", + "tableTo": "media", + "columnsFrom": ["default_og_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.dyvolis_page_hero_tips": { + "name": "dyvolis_page_hero_tips", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "dyvolis_page_hero_tips_order_idx": { + "name": "dyvolis_page_hero_tips_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "dyvolis_page_hero_tips_parent_id_idx": { + "name": "dyvolis_page_hero_tips_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "dyvolis_page_hero_tips_parent_id_fk": { + "name": "dyvolis_page_hero_tips_parent_id_fk", + "tableFrom": "dyvolis_page_hero_tips", + "tableTo": "dyvolis_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.dyvolis_page_gallery_images": { + "name": "dyvolis_page_gallery_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "dyvolis_page_gallery_images_order_idx": { + "name": "dyvolis_page_gallery_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "dyvolis_page_gallery_images_parent_id_idx": { + "name": "dyvolis_page_gallery_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "dyvolis_page_gallery_images_image_idx": { + "name": "dyvolis_page_gallery_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "dyvolis_page_gallery_images_image_id_media_id_fk": { + "name": "dyvolis_page_gallery_images_image_id_media_id_fk", + "tableFrom": "dyvolis_page_gallery_images", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "dyvolis_page_gallery_images_parent_id_fk": { + "name": "dyvolis_page_gallery_images_parent_id_fk", + "tableFrom": "dyvolis_page_gallery_images", + "tableTo": "dyvolis_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.dyvolis_page_why_visit_items": { + "name": "dyvolis_page_why_visit_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "dyvolis_page_why_visit_items_order_idx": { + "name": "dyvolis_page_why_visit_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "dyvolis_page_why_visit_items_parent_id_idx": { + "name": "dyvolis_page_why_visit_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "dyvolis_page_why_visit_items_parent_id_fk": { + "name": "dyvolis_page_why_visit_items_parent_id_fk", + "tableFrom": "dyvolis_page_why_visit_items", + "tableTo": "dyvolis_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.dyvolis_page_review_videos": { + "name": "dyvolis_page_review_videos", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "src": { + "name": "src", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "poster": { + "name": "poster", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "dyvolis_page_review_videos_order_idx": { + "name": "dyvolis_page_review_videos_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "dyvolis_page_review_videos_parent_id_idx": { + "name": "dyvolis_page_review_videos_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "dyvolis_page_review_videos_parent_id_fk": { + "name": "dyvolis_page_review_videos_parent_id_fk", + "tableFrom": "dyvolis_page_review_videos", + "tableTo": "dyvolis_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.dyvolis_page": { + "name": "dyvolis_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "hero_title": { + "name": "hero_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'ДивоЛіс – територія магії та фантазії'" + }, + "hero_description": { + "name": "hero_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Топіарні фігури зроблені з урахуванням важливих деталей, тому ви одразу впізнаєте в них улюблених казкових героїв. Тут можна бігати, стрибати, лазити по фігурках і ставати героями власної казки.'" + }, + "hero_stat": { + "name": "hero_stat", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'60+'" + }, + "hero_stat_label": { + "name": "hero_stat_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'експонатів з безпечних для дітей матеріалів'" + }, + "working_hours": { + "name": "working_hours", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'щодня з 11:00 до 20:00'" + }, + "gallery_quote": { + "name": "gallery_quote", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Це місце – де малеча зустрічає героїв улюблених казок. Простір справжнього дитинства.'" + }, + "why_visit_title": { + "name": "why_visit_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Чому варто відвідати ДивоЛіс'" + }, + "combo_description": { + "name": "combo_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Динопарк + Диволіс із казковими топіарними фігурами + Дзеркальний лабіринт'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "dyvolis_page_meta_meta_image_idx": { + "name": "dyvolis_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "dyvolis_page_meta_image_id_media_id_fk": { + "name": "dyvolis_page_meta_image_id_media_id_fk", + "tableFrom": "dyvolis_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.group_visits_page_groups": { + "name": "group_visits_page_groups", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "min_people": { + "name": "min_people", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "discount": { + "name": "discount", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "group_visits_page_groups_order_idx": { + "name": "group_visits_page_groups_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "group_visits_page_groups_parent_id_idx": { + "name": "group_visits_page_groups_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "group_visits_page_groups_parent_id_fk": { + "name": "group_visits_page_groups_parent_id_fk", + "tableFrom": "group_visits_page_groups", + "tableTo": "group_visits_page", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.group_visits_page": { + "name": "group_visits_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "hero_title": { + "name": "hero_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Групові відвідування'" + }, + "hero_subtitle": { + "name": "hero_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Спеціальні умови для організованих груп. Мінімум 10 осіб — максимум вражень.'" + }, + "form_title": { + "name": "form_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Подати заявку на групове відвідування'" + }, + "form_subtitle": { + "name": "form_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Вкажіть кількість учасників та бажану дату — менеджер зателефонує і погодить деталі.'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "group_visits_page_meta_meta_image_idx": { + "name": "group_visits_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "group_visits_page_meta_image_id_media_id_fk": { + "name": "group_visits_page_meta_image_id_media_id_fk", + "tableFrom": "group_visits_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.birthday_page": { + "name": "birthday_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "hero_title": { + "name": "hero_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Дні народження'" + }, + "hero_subtitle": { + "name": "hero_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Зробіть свято незабутнім! Оберіть пакет і наші менеджери зв''яжуться з вами для уточнення деталей.'" + }, + "form_title": { + "name": "form_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Замовити святкування'" + }, + "form_subtitle": { + "name": "form_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Залиште заявку і наш менеджер зв''яжеться з вами протягом 30 хвилин'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "birthday_page_meta_meta_image_idx": { + "name": "birthday_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "birthday_page_meta_image_id_media_id_fk": { + "name": "birthday_page_meta_image_id_media_id_fk", + "tableFrom": "birthday_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_page": { + "name": "tickets_page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "hero_title": { + "name": "hero_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Купити квиток'" + }, + "hero_subtitle": { + "name": "hero_subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Оберіть квиток та придбайте онлайн — без черги на касі'" + }, + "section_title_birthday": { + "name": "section_title_birthday", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Дні народження'" + }, + "section_title_groups": { + "name": "section_title_groups", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Групові відвідування'" + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_image_id": { + "name": "meta_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_page_meta_meta_image_idx": { + "name": "tickets_page_meta_meta_image_idx", + "columns": [ + { + "expression": "meta_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_page_meta_image_id_media_id_fk": { + "name": "tickets_page_meta_image_id_media_id_fk", + "tableFrom": "tickets_page", + "tableTo": "media", + "columnsFrom": ["meta_image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.enum_users_role": { + "name": "enum_users_role", + "schema": "public", + "values": ["admin", "editor"] + }, + "public.enum_pages_blocks_hero_background_type": { + "name": "enum_pages_blocks_hero_background_type", + "schema": "public", + "values": ["image", "video"] + }, + "public.enum_pages_blocks_cta_variant": { + "name": "enum_pages_blocks_cta_variant", + "schema": "public", + "values": ["primary", "secondary", "dark"] + }, + "public.enum_pages_status": { + "name": "enum_pages_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__pages_v_blocks_hero_background_type": { + "name": "enum__pages_v_blocks_hero_background_type", + "schema": "public", + "values": ["image", "video"] + }, + "public.enum__pages_v_blocks_cta_variant": { + "name": "enum__pages_v_blocks_cta_variant", + "schema": "public", + "values": ["primary", "secondary", "dark"] + }, + "public.enum__pages_v_version_status": { + "name": "enum__pages_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_blog_posts_status": { + "name": "enum_blog_posts_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__blog_posts_v_version_status": { + "name": "enum__blog_posts_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_tariffs_category_tag": { + "name": "enum_tariffs_category_tag", + "schema": "public", + "values": ["dyno", "dyvolis", "maze", "combo", "family"] + }, + "public.enum_leads_status": { + "name": "enum_leads_status", + "schema": "public", + "values": ["new", "contacted", "qualified", "closed"] + }, + "public.enum_orders_status": { + "name": "enum_orders_status", + "schema": "public", + "values": ["redirected_to_payment", "paid", "failed", "cancelled"] + }, + "public.enum_reviews_source": { + "name": "enum_reviews_source", + "schema": "public", + "values": ["google", "facebook", "instagram", "manual"] + }, + "public.enum_header_nav_links_auto_children_from": { + "name": "enum_header_nav_links_auto_children_from", + "schema": "public", + "values": ["none", "locations"] + }, + "public.enum_footer_socials_platform": { + "name": "enum_footer_socials_platform", + "schema": "public", + "values": ["instagram", "facebook", "youtube", "tiktok"] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "id": "320d7b7b-1cdc-465d-89eb-1e327ff7de91", + "prevId": "00000000-0000-0000-0000-000000000000" +} diff --git a/migrations/20260515_153940.ts b/migrations/20260515_153940.ts new file mode 100644 index 0000000..112eff8 --- /dev/null +++ b/migrations/20260515_153940.ts @@ -0,0 +1,1389 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + CREATE TYPE "public"."enum_users_role" AS ENUM('admin', 'editor'); + CREATE TYPE "public"."enum_pages_blocks_hero_background_type" AS ENUM('image', 'video'); + CREATE TYPE "public"."enum_pages_blocks_cta_variant" AS ENUM('primary', 'secondary', 'dark'); + CREATE TYPE "public"."enum_pages_status" AS ENUM('draft', 'published'); + CREATE TYPE "public"."enum__pages_v_blocks_hero_background_type" AS ENUM('image', 'video'); + CREATE TYPE "public"."enum__pages_v_blocks_cta_variant" AS ENUM('primary', 'secondary', 'dark'); + CREATE TYPE "public"."enum__pages_v_version_status" AS ENUM('draft', 'published'); + CREATE TYPE "public"."enum_blog_posts_status" AS ENUM('draft', 'published'); + CREATE TYPE "public"."enum__blog_posts_v_version_status" AS ENUM('draft', 'published'); + CREATE TYPE "public"."enum_tariffs_category_tag" AS ENUM('dyno', 'dyvolis', 'maze', 'combo', 'family'); + CREATE TYPE "public"."enum_leads_status" AS ENUM('new', 'contacted', 'qualified', 'closed'); + CREATE TYPE "public"."enum_orders_status" AS ENUM('redirected_to_payment', 'paid', 'failed', 'cancelled'); + CREATE TYPE "public"."enum_reviews_source" AS ENUM('google', 'facebook', 'instagram', 'manual'); + CREATE TYPE "public"."enum_header_nav_links_auto_children_from" AS ENUM('none', 'locations'); + CREATE TYPE "public"."enum_footer_socials_platform" AS ENUM('instagram', 'facebook', 'youtube', 'tiktok'); + CREATE TABLE "users_sessions" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "created_at" timestamp(3) with time zone, + "expires_at" timestamp(3) with time zone NOT NULL + ); + + CREATE TABLE "users" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "role" "enum_users_role" DEFAULT 'editor' NOT NULL, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "email" varchar NOT NULL, + "reset_password_token" varchar, + "reset_password_expiration" timestamp(3) with time zone, + "salt" varchar, + "hash" varchar, + "login_attempts" numeric DEFAULT 0, + "lock_until" timestamp(3) with time zone + ); + + CREATE TABLE "media" ( + "id" serial PRIMARY KEY NOT NULL, + "alt" varchar NOT NULL, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "url" varchar, + "thumbnail_u_r_l" varchar, + "filename" varchar, + "mime_type" varchar, + "filesize" numeric, + "width" numeric, + "height" numeric, + "focal_x" numeric, + "focal_y" numeric + ); + + CREATE TABLE "pages_blocks_hero" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar, + "cta_href" varchar, + "background_type" "enum_pages_blocks_hero_background_type" DEFAULT 'image', + "background_image_id" integer, + "background_video_url" varchar, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_locations_teaser_locations" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar, + "description" varchar, + "image_id" integer, + "href" varchar, + "cta_label" varchar + ); + + CREATE TABLE "pages_blocks_locations_teaser" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_features_items" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "icon" varchar, + "title" varchar, + "description" varchar + ); + + CREATE TABLE "pages_blocks_features" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_news_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar DEFAULT 'Новини', + "limit" numeric DEFAULT 3, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_newsletter_form" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar DEFAULT 'Підписатися', + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_gallery_images" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer, + "caption" varchar + ); + + CREATE TABLE "pages_blocks_gallery" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_rich_text" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "content" jsonb, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_image_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer, + "caption" varchar, + "full_width" boolean DEFAULT false, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_video_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "video_url" varchar, + "caption" varchar, + "autoplay" boolean DEFAULT false, + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_lead_form" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "form_source" varchar, + "show_phone" boolean DEFAULT true, + "show_email" boolean DEFAULT false, + "cta_label" varchar DEFAULT 'Відправити', + "success_message" varchar DEFAULT 'Дякуємо! Ми зв''яжемося з вами найближчим часом.', + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_pricing_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "show_only_visible" boolean DEFAULT true, + "cta_label" varchar DEFAULT 'Купити квиток', + "block_name" varchar + ); + + CREATE TABLE "pages_blocks_cta" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar, + "cta_href" varchar, + "variant" "enum_pages_blocks_cta_variant" DEFAULT 'primary', + "block_name" varchar + ); + + CREATE TABLE "pages" ( + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "slug" varchar, + "status" "enum_pages_status" DEFAULT 'draft', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "_status" "enum_pages_status" DEFAULT 'draft' + ); + + CREATE TABLE "_pages_v_blocks_hero" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar, + "cta_href" varchar, + "background_type" "enum__pages_v_blocks_hero_background_type" DEFAULT 'image', + "background_image_id" integer, + "background_video_url" varchar, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_locations_teaser_locations" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "name" varchar, + "description" varchar, + "image_id" integer, + "href" varchar, + "cta_label" varchar, + "_uuid" varchar + ); + + CREATE TABLE "_pages_v_blocks_locations_teaser" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_features_items" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "icon" varchar, + "title" varchar, + "description" varchar, + "_uuid" varchar + ); + + CREATE TABLE "_pages_v_blocks_features" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_news_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar DEFAULT 'Новини', + "limit" numeric DEFAULT 3, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_newsletter_form" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar DEFAULT 'Підписатися', + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_gallery_images" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "image_id" integer, + "caption" varchar, + "_uuid" varchar + ); + + CREATE TABLE "_pages_v_blocks_gallery" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_rich_text" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "content" jsonb, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_image_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "image_id" integer, + "caption" varchar, + "full_width" boolean DEFAULT false, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_video_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "video_url" varchar, + "caption" varchar, + "autoplay" boolean DEFAULT false, + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_lead_form" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "form_source" varchar, + "show_phone" boolean DEFAULT true, + "show_email" boolean DEFAULT false, + "cta_label" varchar DEFAULT 'Відправити', + "success_message" varchar DEFAULT 'Дякуємо! Ми зв''яжемося з вами найближчим часом.', + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_pricing_block" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "show_only_visible" boolean DEFAULT true, + "cta_label" varchar DEFAULT 'Купити квиток', + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v_blocks_cta" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "_path" text NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "subtitle" varchar, + "cta_label" varchar, + "cta_href" varchar, + "variant" "enum__pages_v_blocks_cta_variant" DEFAULT 'primary', + "_uuid" varchar, + "block_name" varchar + ); + + CREATE TABLE "_pages_v" ( + "id" serial PRIMARY KEY NOT NULL, + "parent_id" integer, + "version_title" varchar, + "version_slug" varchar, + "version_status" "enum__pages_v_version_status" DEFAULT 'draft', + "version_meta_title" varchar, + "version_meta_description" varchar, + "version_meta_image_id" integer, + "version_updated_at" timestamp(3) with time zone, + "version_created_at" timestamp(3) with time zone, + "version__status" "enum__pages_v_version_status" DEFAULT 'draft', + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "latest" boolean + ); + + CREATE TABLE "blog_posts" ( + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "slug" varchar, + "published_at" timestamp(3) with time zone, + "hero_id" integer, + "body" jsonb, + "excerpt" varchar, + "status" "enum_blog_posts_status" DEFAULT 'draft', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "_status" "enum_blog_posts_status" DEFAULT 'draft' + ); + + CREATE TABLE "blog_posts_rels" ( + "id" serial PRIMARY KEY NOT NULL, + "order" integer, + "parent_id" integer NOT NULL, + "path" varchar NOT NULL, + "categories_id" integer, + "tags_id" integer + ); + + CREATE TABLE "_blog_posts_v" ( + "id" serial PRIMARY KEY NOT NULL, + "parent_id" integer, + "version_title" varchar, + "version_slug" varchar, + "version_published_at" timestamp(3) with time zone, + "version_hero_id" integer, + "version_body" jsonb, + "version_excerpt" varchar, + "version_status" "enum__blog_posts_v_version_status" DEFAULT 'draft', + "version_meta_title" varchar, + "version_meta_description" varchar, + "version_meta_image_id" integer, + "version_updated_at" timestamp(3) with time zone, + "version_created_at" timestamp(3) with time zone, + "version__status" "enum__blog_posts_v_version_status" DEFAULT 'draft', + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "latest" boolean + ); + + CREATE TABLE "_blog_posts_v_rels" ( + "id" serial PRIMARY KEY NOT NULL, + "order" integer, + "parent_id" integer NOT NULL, + "path" varchar NOT NULL, + "categories_id" integer, + "tags_id" integer + ); + + CREATE TABLE "categories" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "slug" varchar, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "tags" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "slug" varchar, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "tariffs" ( + "id" serial PRIMARY KEY NOT NULL, + "ezy_id" numeric NOT NULL, + "display_name" varchar, + "description" jsonb, + "image_id" integer, + "icon" varchar, + "category_tag" "enum_tariffs_category_tag" NOT NULL, + "sort" numeric DEFAULT 0, + "visible" boolean DEFAULT true, + "last_synced_name" varchar, + "last_synced_price" numeric, + "last_synced_at" timestamp(3) with time zone, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "leads" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "phone" varchar NOT NULL, + "email" varchar, + "form_source" varchar NOT NULL, + "utm_source" varchar, + "utm_medium" varchar, + "utm_campaign" varchar, + "utm_content" varchar, + "utm_term" varchar, + "gclid" varchar, + "status" "enum_leads_status" DEFAULT 'new', + "message" varchar, + "group_size" numeric, + "preferred_date" timestamp(3) with time zone, + "package_slug" varchar, + "notes" varchar, + "last_call_at" timestamp(3) with time zone, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "orders_items" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "tariff_id" varchar NOT NULL, + "count" numeric NOT NULL + ); + + CREATE TABLE "orders" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar, + "phone" varchar, + "email" varchar NOT NULL, + "amount" numeric NOT NULL, + "monobank_url" varchar NOT NULL, + "status" "enum_orders_status" DEFAULT 'redirected_to_payment', + "ezy_activity" varchar, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "locations_gallery" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer + ); + + CREATE TABLE "locations" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "slug" varchar NOT NULL, + "tagline" varchar, + "short_desc" varchar, + "description" jsonb, + "image_id" integer, + "href" varchar, + "show_in_menu" boolean DEFAULT true, + "show_on_home" boolean DEFAULT true, + "sort" numeric DEFAULT 0, + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "reviews" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "initial" varchar, + "avatar_bg_id" integer, + "ago" varchar, + "rating" numeric DEFAULT 5, + "text" varchar NOT NULL, + "source" "enum_reviews_source" DEFAULT 'google', + "video_url" varchar, + "video_poster" varchar, + "show_on_home" boolean DEFAULT true, + "sort" numeric DEFAULT 0, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "birthday_packages_features" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "text" varchar NOT NULL + ); + + CREATE TABLE "birthday_packages" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "slug" varchar NOT NULL, + "price" numeric NOT NULL, + "currency" varchar DEFAULT '₴', + "price_label" varchar, + "featured" boolean DEFAULT false, + "badge" varchar, + "cta_label" varchar DEFAULT 'Обрати пакет', + "cta_href" varchar, + "sort" numeric DEFAULT 0, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "payload_kv" ( + "id" serial PRIMARY KEY NOT NULL, + "key" varchar NOT NULL, + "data" jsonb NOT NULL + ); + + CREATE TABLE "payload_locked_documents" ( + "id" serial PRIMARY KEY NOT NULL, + "global_slug" varchar, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "payload_locked_documents_rels" ( + "id" serial PRIMARY KEY NOT NULL, + "order" integer, + "parent_id" integer NOT NULL, + "path" varchar NOT NULL, + "users_id" integer, + "media_id" integer, + "pages_id" integer, + "blog_posts_id" integer, + "categories_id" integer, + "tags_id" integer, + "tariffs_id" integer, + "leads_id" integer, + "orders_id" integer, + "locations_id" integer, + "reviews_id" integer, + "birthday_packages_id" integer + ); + + CREATE TABLE "payload_preferences" ( + "id" serial PRIMARY KEY NOT NULL, + "key" varchar, + "value" jsonb, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "payload_preferences_rels" ( + "id" serial PRIMARY KEY NOT NULL, + "order" integer, + "parent_id" integer NOT NULL, + "path" varchar NOT NULL, + "users_id" integer + ); + + CREATE TABLE "payload_migrations" ( + "id" serial PRIMARY KEY NOT NULL, + "name" varchar, + "batch" numeric, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "home_page_why_parents_items" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "description" varchar + ); + + CREATE TABLE "home_page_why_parents_side_gallery" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer + ); + + CREATE TABLE "home_page_gallery_images" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer, + "alt" varchar + ); + + CREATE TABLE "home_page" ( + "id" serial PRIMARY KEY NOT NULL, + "hero_title" varchar, + "hero_subtitle" varchar, + "hero_cta_label" varchar, + "hero_cta_href" varchar, + "hero_background_video" varchar, + "hero_background_image_id" integer, + "hero_foreground_overlay_id" integer, + "hero_silhouette_overlay_id" integer, + "page_hero_background_image_id" integer, + "section_titles_locations" varchar, + "section_titles_why_parents" varchar, + "section_titles_birthday" varchar, + "section_titles_gallery" varchar, + "section_titles_reviews" varchar, + "section_titles_news" varchar, + "video_poster_id" integer, + "video_src" varchar, + "birthday_intro_text" varchar, + "news_title" varchar, + "news_subtitle" varchar, + "news_limit" numeric DEFAULT 3, + "map_embed_url" varchar, + "map_address" varchar, + "map_lat" numeric, + "map_lng" numeric, + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "checkout_page" ( + "id" serial PRIMARY KEY NOT NULL, + "title" varchar DEFAULT 'Оформлення замовлення', + "instructions" jsonb, + "terms" jsonb, + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "thank_you_page" ( + "id" serial PRIMARY KEY NOT NULL, + "title" varchar DEFAULT 'Дякуємо за замовлення!', + "message" jsonb, + "contact_phone" varchar DEFAULT '+380 (67) 000-00-00', + "contact_email" varchar, + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "header_nav_links_children" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "label" varchar, + "href" varchar + ); + + CREATE TABLE "header_nav_links" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "label" varchar, + "href" varchar, + "open_in_new_tab" boolean DEFAULT false, + "auto_children_from" "enum_header_nav_links_auto_children_from" DEFAULT 'none' + ); + + CREATE TABLE "header" ( + "id" serial PRIMARY KEY NOT NULL, + "logo_id" integer, + "logo_alt" varchar, + "cta_label" varchar, + "cta_href" varchar, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "footer_nav_links" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "label" varchar, + "href" varchar + ); + + CREATE TABLE "footer_socials" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "platform" "enum_footer_socials_platform", + "url" varchar + ); + + CREATE TABLE "footer" ( + "id" serial PRIMARY KEY NOT NULL, + "logo_id" integer, + "logo_alt" varchar, + "contacts_phone" varchar, + "contacts_email" varchar, + "contacts_address" varchar, + "copyright_text" varchar, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "site_settings_tariff_category_labels" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "key" varchar NOT NULL, + "label" varchar NOT NULL + ); + + CREATE TABLE "site_settings" ( + "id" serial PRIMARY KEY NOT NULL, + "ga4_id" varchar, + "binotel_id" varchar, + "telegram_chat_id" varchar, + "resend_from" varchar, + "default_meta_title" varchar, + "default_meta_description" varchar, + "default_og_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "dyvolis_page_hero_tips" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "text" varchar NOT NULL + ); + + CREATE TABLE "dyvolis_page_gallery_images" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer NOT NULL + ); + + CREATE TABLE "dyvolis_page_why_visit_items" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar NOT NULL, + "description" varchar NOT NULL + ); + + CREATE TABLE "dyvolis_page_review_videos" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "src" varchar NOT NULL, + "poster" varchar, + "label" varchar + ); + + CREATE TABLE "dyvolis_page" ( + "id" serial PRIMARY KEY NOT NULL, + "hero_title" varchar DEFAULT 'ДивоЛіс – територія магії та фантазії', + "hero_description" varchar DEFAULT 'Топіарні фігури зроблені з урахуванням важливих деталей, тому ви одразу впізнаєте в них улюблених казкових героїв. Тут можна бігати, стрибати, лазити по фігурках і ставати героями власної казки.', + "hero_stat" varchar DEFAULT '60+', + "hero_stat_label" varchar DEFAULT 'експонатів з безпечних для дітей матеріалів', + "working_hours" varchar DEFAULT 'щодня з 11:00 до 20:00', + "gallery_quote" varchar DEFAULT 'Це місце – де малеча зустрічає героїв улюблених казок. Простір справжнього дитинства.', + "why_visit_title" varchar DEFAULT 'Чому варто відвідати ДивоЛіс', + "combo_description" varchar DEFAULT 'Динопарк + Диволіс із казковими топіарними фігурами + Дзеркальний лабіринт', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "group_visits_page_groups" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "icon" varchar NOT NULL, + "title" varchar NOT NULL, + "description" varchar NOT NULL, + "min_people" varchar NOT NULL, + "discount" varchar NOT NULL + ); + + CREATE TABLE "group_visits_page" ( + "id" serial PRIMARY KEY NOT NULL, + "hero_title" varchar DEFAULT 'Групові відвідування', + "hero_subtitle" varchar DEFAULT 'Спеціальні умови для організованих груп. Мінімум 10 осіб — максимум вражень.', + "form_title" varchar DEFAULT 'Подати заявку на групове відвідування', + "form_subtitle" varchar DEFAULT 'Вкажіть кількість учасників та бажану дату — менеджер зателефонує і погодить деталі.', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "birthday_page" ( + "id" serial PRIMARY KEY NOT NULL, + "hero_title" varchar DEFAULT 'Дні народження', + "hero_subtitle" varchar DEFAULT 'Зробіть свято незабутнім! Оберіть пакет і наші менеджери зв''яжуться з вами для уточнення деталей.', + "form_title" varchar DEFAULT 'Замовити святкування', + "form_subtitle" varchar DEFAULT 'Залиште заявку і наш менеджер зв''яжеться з вами протягом 30 хвилин', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE "tickets_page" ( + "id" serial PRIMARY KEY NOT NULL, + "hero_title" varchar DEFAULT 'Купити квиток', + "hero_subtitle" varchar DEFAULT 'Оберіть квиток та придбайте онлайн — без черги на касі', + "section_title_birthday" varchar DEFAULT 'Дні народження', + "section_title_groups" varchar DEFAULT 'Групові відвідування', + "meta_title" varchar, + "meta_description" varchar, + "meta_image_id" integer, + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + ALTER TABLE "users_sessions" ADD CONSTRAINT "users_sessions_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_hero" ADD CONSTRAINT "pages_blocks_hero_background_image_id_media_id_fk" FOREIGN KEY ("background_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "pages_blocks_hero" ADD CONSTRAINT "pages_blocks_hero_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_locations_teaser_locations" ADD CONSTRAINT "pages_blocks_locations_teaser_locations_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "pages_blocks_locations_teaser_locations" ADD CONSTRAINT "pages_blocks_locations_teaser_locations_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages_blocks_locations_teaser"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_locations_teaser" ADD CONSTRAINT "pages_blocks_locations_teaser_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_features_items" ADD CONSTRAINT "pages_blocks_features_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages_blocks_features"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_features" ADD CONSTRAINT "pages_blocks_features_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_news_block" ADD CONSTRAINT "pages_blocks_news_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_newsletter_form" ADD CONSTRAINT "pages_blocks_newsletter_form_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_gallery_images" ADD CONSTRAINT "pages_blocks_gallery_images_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "pages_blocks_gallery_images" ADD CONSTRAINT "pages_blocks_gallery_images_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages_blocks_gallery"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_gallery" ADD CONSTRAINT "pages_blocks_gallery_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_rich_text" ADD CONSTRAINT "pages_blocks_rich_text_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_image_block" ADD CONSTRAINT "pages_blocks_image_block_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "pages_blocks_image_block" ADD CONSTRAINT "pages_blocks_image_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_video_block" ADD CONSTRAINT "pages_blocks_video_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_lead_form" ADD CONSTRAINT "pages_blocks_lead_form_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_pricing_block" ADD CONSTRAINT "pages_blocks_pricing_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages_blocks_cta" ADD CONSTRAINT "pages_blocks_cta_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "pages" ADD CONSTRAINT "pages_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_hero" ADD CONSTRAINT "_pages_v_blocks_hero_background_image_id_media_id_fk" FOREIGN KEY ("background_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_hero" ADD CONSTRAINT "_pages_v_blocks_hero_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_locations_teaser_locations" ADD CONSTRAINT "_pages_v_blocks_locations_teaser_locations_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_locations_teaser_locations" ADD CONSTRAINT "_pages_v_blocks_locations_teaser_locations_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v_blocks_locations_teaser"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_locations_teaser" ADD CONSTRAINT "_pages_v_blocks_locations_teaser_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_features_items" ADD CONSTRAINT "_pages_v_blocks_features_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v_blocks_features"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_features" ADD CONSTRAINT "_pages_v_blocks_features_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_news_block" ADD CONSTRAINT "_pages_v_blocks_news_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_newsletter_form" ADD CONSTRAINT "_pages_v_blocks_newsletter_form_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_gallery_images" ADD CONSTRAINT "_pages_v_blocks_gallery_images_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_gallery_images" ADD CONSTRAINT "_pages_v_blocks_gallery_images_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v_blocks_gallery"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_gallery" ADD CONSTRAINT "_pages_v_blocks_gallery_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_rich_text" ADD CONSTRAINT "_pages_v_blocks_rich_text_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_image_block" ADD CONSTRAINT "_pages_v_blocks_image_block_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_image_block" ADD CONSTRAINT "_pages_v_blocks_image_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_video_block" ADD CONSTRAINT "_pages_v_blocks_video_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_lead_form" ADD CONSTRAINT "_pages_v_blocks_lead_form_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_pricing_block" ADD CONSTRAINT "_pages_v_blocks_pricing_block_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v_blocks_cta" ADD CONSTRAINT "_pages_v_blocks_cta_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_pages_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_pages_v" ADD CONSTRAINT "_pages_v_parent_id_pages_id_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."pages"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_pages_v" ADD CONSTRAINT "_pages_v_version_meta_image_id_media_id_fk" FOREIGN KEY ("version_meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "blog_posts" ADD CONSTRAINT "blog_posts_hero_id_media_id_fk" FOREIGN KEY ("hero_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "blog_posts" ADD CONSTRAINT "blog_posts_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "blog_posts_rels" ADD CONSTRAINT "blog_posts_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."blog_posts"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "blog_posts_rels" ADD CONSTRAINT "blog_posts_rels_categories_fk" FOREIGN KEY ("categories_id") REFERENCES "public"."categories"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "blog_posts_rels" ADD CONSTRAINT "blog_posts_rels_tags_fk" FOREIGN KEY ("tags_id") REFERENCES "public"."tags"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_blog_posts_v" ADD CONSTRAINT "_blog_posts_v_parent_id_blog_posts_id_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."blog_posts"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_blog_posts_v" ADD CONSTRAINT "_blog_posts_v_version_hero_id_media_id_fk" FOREIGN KEY ("version_hero_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_blog_posts_v" ADD CONSTRAINT "_blog_posts_v_version_meta_image_id_media_id_fk" FOREIGN KEY ("version_meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "_blog_posts_v_rels" ADD CONSTRAINT "_blog_posts_v_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."_blog_posts_v"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_blog_posts_v_rels" ADD CONSTRAINT "_blog_posts_v_rels_categories_fk" FOREIGN KEY ("categories_id") REFERENCES "public"."categories"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "_blog_posts_v_rels" ADD CONSTRAINT "_blog_posts_v_rels_tags_fk" FOREIGN KEY ("tags_id") REFERENCES "public"."tags"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "tariffs" ADD CONSTRAINT "tariffs_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "orders_items" ADD CONSTRAINT "orders_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."orders"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "locations_gallery" ADD CONSTRAINT "locations_gallery_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "locations_gallery" ADD CONSTRAINT "locations_gallery_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."locations"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "locations" ADD CONSTRAINT "locations_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "locations" ADD CONSTRAINT "locations_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "reviews" ADD CONSTRAINT "reviews_avatar_bg_id_media_id_fk" FOREIGN KEY ("avatar_bg_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "birthday_packages_features" ADD CONSTRAINT "birthday_packages_features_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."birthday_packages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."payload_locked_documents"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_users_fk" FOREIGN KEY ("users_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_media_fk" FOREIGN KEY ("media_id") REFERENCES "public"."media"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_pages_fk" FOREIGN KEY ("pages_id") REFERENCES "public"."pages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_blog_posts_fk" FOREIGN KEY ("blog_posts_id") REFERENCES "public"."blog_posts"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_categories_fk" FOREIGN KEY ("categories_id") REFERENCES "public"."categories"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_tags_fk" FOREIGN KEY ("tags_id") REFERENCES "public"."tags"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_tariffs_fk" FOREIGN KEY ("tariffs_id") REFERENCES "public"."tariffs"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_leads_fk" FOREIGN KEY ("leads_id") REFERENCES "public"."leads"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_orders_fk" FOREIGN KEY ("orders_id") REFERENCES "public"."orders"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_locations_fk" FOREIGN KEY ("locations_id") REFERENCES "public"."locations"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_reviews_fk" FOREIGN KEY ("reviews_id") REFERENCES "public"."reviews"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_birthday_packages_fk" FOREIGN KEY ("birthday_packages_id") REFERENCES "public"."birthday_packages"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_preferences_rels" ADD CONSTRAINT "payload_preferences_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."payload_preferences"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "payload_preferences_rels" ADD CONSTRAINT "payload_preferences_rels_users_fk" FOREIGN KEY ("users_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "home_page_why_parents_items" ADD CONSTRAINT "home_page_why_parents_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."home_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "home_page_why_parents_side_gallery" ADD CONSTRAINT "home_page_why_parents_side_gallery_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page_why_parents_side_gallery" ADD CONSTRAINT "home_page_why_parents_side_gallery_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."home_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "home_page_gallery_images" ADD CONSTRAINT "home_page_gallery_images_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page_gallery_images" ADD CONSTRAINT "home_page_gallery_images_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."home_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_hero_background_image_id_media_id_fk" FOREIGN KEY ("hero_background_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_hero_foreground_overlay_id_media_id_fk" FOREIGN KEY ("hero_foreground_overlay_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_hero_silhouette_overlay_id_media_id_fk" FOREIGN KEY ("hero_silhouette_overlay_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_page_hero_background_image_id_media_id_fk" FOREIGN KEY ("page_hero_background_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_video_poster_id_media_id_fk" FOREIGN KEY ("video_poster_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "home_page" ADD CONSTRAINT "home_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "checkout_page" ADD CONSTRAINT "checkout_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "thank_you_page" ADD CONSTRAINT "thank_you_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "header_nav_links_children" ADD CONSTRAINT "header_nav_links_children_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."header_nav_links"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "header_nav_links" ADD CONSTRAINT "header_nav_links_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."header"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "header" ADD CONSTRAINT "header_logo_id_media_id_fk" FOREIGN KEY ("logo_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "footer_nav_links" ADD CONSTRAINT "footer_nav_links_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."footer"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "footer_socials" ADD CONSTRAINT "footer_socials_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."footer"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "footer" ADD CONSTRAINT "footer_logo_id_media_id_fk" FOREIGN KEY ("logo_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "site_settings_tariff_category_labels" ADD CONSTRAINT "site_settings_tariff_category_labels_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."site_settings"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "site_settings" ADD CONSTRAINT "site_settings_default_og_image_id_media_id_fk" FOREIGN KEY ("default_og_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "dyvolis_page_hero_tips" ADD CONSTRAINT "dyvolis_page_hero_tips_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."dyvolis_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "dyvolis_page_gallery_images" ADD CONSTRAINT "dyvolis_page_gallery_images_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "dyvolis_page_gallery_images" ADD CONSTRAINT "dyvolis_page_gallery_images_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."dyvolis_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "dyvolis_page_why_visit_items" ADD CONSTRAINT "dyvolis_page_why_visit_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."dyvolis_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "dyvolis_page_review_videos" ADD CONSTRAINT "dyvolis_page_review_videos_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."dyvolis_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "dyvolis_page" ADD CONSTRAINT "dyvolis_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "group_visits_page_groups" ADD CONSTRAINT "group_visits_page_groups_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."group_visits_page"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "group_visits_page" ADD CONSTRAINT "group_visits_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "birthday_page" ADD CONSTRAINT "birthday_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "tickets_page" ADD CONSTRAINT "tickets_page_meta_image_id_media_id_fk" FOREIGN KEY ("meta_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + CREATE INDEX "users_sessions_order_idx" ON "users_sessions" USING btree ("_order"); + CREATE INDEX "users_sessions_parent_id_idx" ON "users_sessions" USING btree ("_parent_id"); + CREATE INDEX "users_updated_at_idx" ON "users" USING btree ("updated_at"); + CREATE INDEX "users_created_at_idx" ON "users" USING btree ("created_at"); + CREATE UNIQUE INDEX "users_email_idx" ON "users" USING btree ("email"); + CREATE INDEX "media_updated_at_idx" ON "media" USING btree ("updated_at"); + CREATE INDEX "media_created_at_idx" ON "media" USING btree ("created_at"); + CREATE UNIQUE INDEX "media_filename_idx" ON "media" USING btree ("filename"); + CREATE INDEX "pages_blocks_hero_order_idx" ON "pages_blocks_hero" USING btree ("_order"); + CREATE INDEX "pages_blocks_hero_parent_id_idx" ON "pages_blocks_hero" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_hero_path_idx" ON "pages_blocks_hero" USING btree ("_path"); + CREATE INDEX "pages_blocks_hero_background_image_idx" ON "pages_blocks_hero" USING btree ("background_image_id"); + CREATE INDEX "pages_blocks_locations_teaser_locations_order_idx" ON "pages_blocks_locations_teaser_locations" USING btree ("_order"); + CREATE INDEX "pages_blocks_locations_teaser_locations_parent_id_idx" ON "pages_blocks_locations_teaser_locations" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_locations_teaser_locations_image_idx" ON "pages_blocks_locations_teaser_locations" USING btree ("image_id"); + CREATE INDEX "pages_blocks_locations_teaser_order_idx" ON "pages_blocks_locations_teaser" USING btree ("_order"); + CREATE INDEX "pages_blocks_locations_teaser_parent_id_idx" ON "pages_blocks_locations_teaser" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_locations_teaser_path_idx" ON "pages_blocks_locations_teaser" USING btree ("_path"); + CREATE INDEX "pages_blocks_features_items_order_idx" ON "pages_blocks_features_items" USING btree ("_order"); + CREATE INDEX "pages_blocks_features_items_parent_id_idx" ON "pages_blocks_features_items" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_features_order_idx" ON "pages_blocks_features" USING btree ("_order"); + CREATE INDEX "pages_blocks_features_parent_id_idx" ON "pages_blocks_features" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_features_path_idx" ON "pages_blocks_features" USING btree ("_path"); + CREATE INDEX "pages_blocks_news_block_order_idx" ON "pages_blocks_news_block" USING btree ("_order"); + CREATE INDEX "pages_blocks_news_block_parent_id_idx" ON "pages_blocks_news_block" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_news_block_path_idx" ON "pages_blocks_news_block" USING btree ("_path"); + CREATE INDEX "pages_blocks_newsletter_form_order_idx" ON "pages_blocks_newsletter_form" USING btree ("_order"); + CREATE INDEX "pages_blocks_newsletter_form_parent_id_idx" ON "pages_blocks_newsletter_form" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_newsletter_form_path_idx" ON "pages_blocks_newsletter_form" USING btree ("_path"); + CREATE INDEX "pages_blocks_gallery_images_order_idx" ON "pages_blocks_gallery_images" USING btree ("_order"); + CREATE INDEX "pages_blocks_gallery_images_parent_id_idx" ON "pages_blocks_gallery_images" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_gallery_images_image_idx" ON "pages_blocks_gallery_images" USING btree ("image_id"); + CREATE INDEX "pages_blocks_gallery_order_idx" ON "pages_blocks_gallery" USING btree ("_order"); + CREATE INDEX "pages_blocks_gallery_parent_id_idx" ON "pages_blocks_gallery" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_gallery_path_idx" ON "pages_blocks_gallery" USING btree ("_path"); + CREATE INDEX "pages_blocks_rich_text_order_idx" ON "pages_blocks_rich_text" USING btree ("_order"); + CREATE INDEX "pages_blocks_rich_text_parent_id_idx" ON "pages_blocks_rich_text" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_rich_text_path_idx" ON "pages_blocks_rich_text" USING btree ("_path"); + CREATE INDEX "pages_blocks_image_block_order_idx" ON "pages_blocks_image_block" USING btree ("_order"); + CREATE INDEX "pages_blocks_image_block_parent_id_idx" ON "pages_blocks_image_block" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_image_block_path_idx" ON "pages_blocks_image_block" USING btree ("_path"); + CREATE INDEX "pages_blocks_image_block_image_idx" ON "pages_blocks_image_block" USING btree ("image_id"); + CREATE INDEX "pages_blocks_video_block_order_idx" ON "pages_blocks_video_block" USING btree ("_order"); + CREATE INDEX "pages_blocks_video_block_parent_id_idx" ON "pages_blocks_video_block" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_video_block_path_idx" ON "pages_blocks_video_block" USING btree ("_path"); + CREATE INDEX "pages_blocks_lead_form_order_idx" ON "pages_blocks_lead_form" USING btree ("_order"); + CREATE INDEX "pages_blocks_lead_form_parent_id_idx" ON "pages_blocks_lead_form" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_lead_form_path_idx" ON "pages_blocks_lead_form" USING btree ("_path"); + CREATE INDEX "pages_blocks_pricing_block_order_idx" ON "pages_blocks_pricing_block" USING btree ("_order"); + CREATE INDEX "pages_blocks_pricing_block_parent_id_idx" ON "pages_blocks_pricing_block" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_pricing_block_path_idx" ON "pages_blocks_pricing_block" USING btree ("_path"); + CREATE INDEX "pages_blocks_cta_order_idx" ON "pages_blocks_cta" USING btree ("_order"); + CREATE INDEX "pages_blocks_cta_parent_id_idx" ON "pages_blocks_cta" USING btree ("_parent_id"); + CREATE INDEX "pages_blocks_cta_path_idx" ON "pages_blocks_cta" USING btree ("_path"); + CREATE UNIQUE INDEX "pages_slug_idx" ON "pages" USING btree ("slug"); + CREATE INDEX "pages_meta_meta_image_idx" ON "pages" USING btree ("meta_image_id"); + CREATE INDEX "pages_updated_at_idx" ON "pages" USING btree ("updated_at"); + CREATE INDEX "pages_created_at_idx" ON "pages" USING btree ("created_at"); + CREATE INDEX "pages__status_idx" ON "pages" USING btree ("_status"); + CREATE INDEX "_pages_v_blocks_hero_order_idx" ON "_pages_v_blocks_hero" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_hero_parent_id_idx" ON "_pages_v_blocks_hero" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_hero_path_idx" ON "_pages_v_blocks_hero" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_hero_background_image_idx" ON "_pages_v_blocks_hero" USING btree ("background_image_id"); + CREATE INDEX "_pages_v_blocks_locations_teaser_locations_order_idx" ON "_pages_v_blocks_locations_teaser_locations" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_locations_teaser_locations_parent_id_idx" ON "_pages_v_blocks_locations_teaser_locations" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_locations_teaser_locations_image_idx" ON "_pages_v_blocks_locations_teaser_locations" USING btree ("image_id"); + CREATE INDEX "_pages_v_blocks_locations_teaser_order_idx" ON "_pages_v_blocks_locations_teaser" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_locations_teaser_parent_id_idx" ON "_pages_v_blocks_locations_teaser" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_locations_teaser_path_idx" ON "_pages_v_blocks_locations_teaser" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_features_items_order_idx" ON "_pages_v_blocks_features_items" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_features_items_parent_id_idx" ON "_pages_v_blocks_features_items" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_features_order_idx" ON "_pages_v_blocks_features" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_features_parent_id_idx" ON "_pages_v_blocks_features" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_features_path_idx" ON "_pages_v_blocks_features" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_news_block_order_idx" ON "_pages_v_blocks_news_block" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_news_block_parent_id_idx" ON "_pages_v_blocks_news_block" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_news_block_path_idx" ON "_pages_v_blocks_news_block" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_newsletter_form_order_idx" ON "_pages_v_blocks_newsletter_form" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_newsletter_form_parent_id_idx" ON "_pages_v_blocks_newsletter_form" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_newsletter_form_path_idx" ON "_pages_v_blocks_newsletter_form" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_gallery_images_order_idx" ON "_pages_v_blocks_gallery_images" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_gallery_images_parent_id_idx" ON "_pages_v_blocks_gallery_images" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_gallery_images_image_idx" ON "_pages_v_blocks_gallery_images" USING btree ("image_id"); + CREATE INDEX "_pages_v_blocks_gallery_order_idx" ON "_pages_v_blocks_gallery" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_gallery_parent_id_idx" ON "_pages_v_blocks_gallery" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_gallery_path_idx" ON "_pages_v_blocks_gallery" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_rich_text_order_idx" ON "_pages_v_blocks_rich_text" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_rich_text_parent_id_idx" ON "_pages_v_blocks_rich_text" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_rich_text_path_idx" ON "_pages_v_blocks_rich_text" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_image_block_order_idx" ON "_pages_v_blocks_image_block" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_image_block_parent_id_idx" ON "_pages_v_blocks_image_block" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_image_block_path_idx" ON "_pages_v_blocks_image_block" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_image_block_image_idx" ON "_pages_v_blocks_image_block" USING btree ("image_id"); + CREATE INDEX "_pages_v_blocks_video_block_order_idx" ON "_pages_v_blocks_video_block" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_video_block_parent_id_idx" ON "_pages_v_blocks_video_block" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_video_block_path_idx" ON "_pages_v_blocks_video_block" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_lead_form_order_idx" ON "_pages_v_blocks_lead_form" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_lead_form_parent_id_idx" ON "_pages_v_blocks_lead_form" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_lead_form_path_idx" ON "_pages_v_blocks_lead_form" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_pricing_block_order_idx" ON "_pages_v_blocks_pricing_block" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_pricing_block_parent_id_idx" ON "_pages_v_blocks_pricing_block" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_pricing_block_path_idx" ON "_pages_v_blocks_pricing_block" USING btree ("_path"); + CREATE INDEX "_pages_v_blocks_cta_order_idx" ON "_pages_v_blocks_cta" USING btree ("_order"); + CREATE INDEX "_pages_v_blocks_cta_parent_id_idx" ON "_pages_v_blocks_cta" USING btree ("_parent_id"); + CREATE INDEX "_pages_v_blocks_cta_path_idx" ON "_pages_v_blocks_cta" USING btree ("_path"); + CREATE INDEX "_pages_v_parent_idx" ON "_pages_v" USING btree ("parent_id"); + CREATE INDEX "_pages_v_version_version_slug_idx" ON "_pages_v" USING btree ("version_slug"); + CREATE INDEX "_pages_v_version_meta_version_meta_image_idx" ON "_pages_v" USING btree ("version_meta_image_id"); + CREATE INDEX "_pages_v_version_version_updated_at_idx" ON "_pages_v" USING btree ("version_updated_at"); + CREATE INDEX "_pages_v_version_version_created_at_idx" ON "_pages_v" USING btree ("version_created_at"); + CREATE INDEX "_pages_v_version_version__status_idx" ON "_pages_v" USING btree ("version__status"); + CREATE INDEX "_pages_v_created_at_idx" ON "_pages_v" USING btree ("created_at"); + CREATE INDEX "_pages_v_updated_at_idx" ON "_pages_v" USING btree ("updated_at"); + CREATE INDEX "_pages_v_latest_idx" ON "_pages_v" USING btree ("latest"); + CREATE UNIQUE INDEX "blog_posts_slug_idx" ON "blog_posts" USING btree ("slug"); + CREATE INDEX "blog_posts_hero_idx" ON "blog_posts" USING btree ("hero_id"); + CREATE INDEX "blog_posts_meta_meta_image_idx" ON "blog_posts" USING btree ("meta_image_id"); + CREATE INDEX "blog_posts_updated_at_idx" ON "blog_posts" USING btree ("updated_at"); + CREATE INDEX "blog_posts_created_at_idx" ON "blog_posts" USING btree ("created_at"); + CREATE INDEX "blog_posts__status_idx" ON "blog_posts" USING btree ("_status"); + CREATE INDEX "blog_posts_rels_order_idx" ON "blog_posts_rels" USING btree ("order"); + CREATE INDEX "blog_posts_rels_parent_idx" ON "blog_posts_rels" USING btree ("parent_id"); + CREATE INDEX "blog_posts_rels_path_idx" ON "blog_posts_rels" USING btree ("path"); + CREATE INDEX "blog_posts_rels_categories_id_idx" ON "blog_posts_rels" USING btree ("categories_id"); + CREATE INDEX "blog_posts_rels_tags_id_idx" ON "blog_posts_rels" USING btree ("tags_id"); + CREATE INDEX "_blog_posts_v_parent_idx" ON "_blog_posts_v" USING btree ("parent_id"); + CREATE INDEX "_blog_posts_v_version_version_slug_idx" ON "_blog_posts_v" USING btree ("version_slug"); + CREATE INDEX "_blog_posts_v_version_version_hero_idx" ON "_blog_posts_v" USING btree ("version_hero_id"); + CREATE INDEX "_blog_posts_v_version_meta_version_meta_image_idx" ON "_blog_posts_v" USING btree ("version_meta_image_id"); + CREATE INDEX "_blog_posts_v_version_version_updated_at_idx" ON "_blog_posts_v" USING btree ("version_updated_at"); + CREATE INDEX "_blog_posts_v_version_version_created_at_idx" ON "_blog_posts_v" USING btree ("version_created_at"); + CREATE INDEX "_blog_posts_v_version_version__status_idx" ON "_blog_posts_v" USING btree ("version__status"); + CREATE INDEX "_blog_posts_v_created_at_idx" ON "_blog_posts_v" USING btree ("created_at"); + CREATE INDEX "_blog_posts_v_updated_at_idx" ON "_blog_posts_v" USING btree ("updated_at"); + CREATE INDEX "_blog_posts_v_latest_idx" ON "_blog_posts_v" USING btree ("latest"); + CREATE INDEX "_blog_posts_v_rels_order_idx" ON "_blog_posts_v_rels" USING btree ("order"); + CREATE INDEX "_blog_posts_v_rels_parent_idx" ON "_blog_posts_v_rels" USING btree ("parent_id"); + CREATE INDEX "_blog_posts_v_rels_path_idx" ON "_blog_posts_v_rels" USING btree ("path"); + CREATE INDEX "_blog_posts_v_rels_categories_id_idx" ON "_blog_posts_v_rels" USING btree ("categories_id"); + CREATE INDEX "_blog_posts_v_rels_tags_id_idx" ON "_blog_posts_v_rels" USING btree ("tags_id"); + CREATE UNIQUE INDEX "categories_slug_idx" ON "categories" USING btree ("slug"); + CREATE INDEX "categories_updated_at_idx" ON "categories" USING btree ("updated_at"); + CREATE INDEX "categories_created_at_idx" ON "categories" USING btree ("created_at"); + CREATE UNIQUE INDEX "tags_slug_idx" ON "tags" USING btree ("slug"); + CREATE INDEX "tags_updated_at_idx" ON "tags" USING btree ("updated_at"); + CREATE INDEX "tags_created_at_idx" ON "tags" USING btree ("created_at"); + CREATE UNIQUE INDEX "tariffs_ezy_id_idx" ON "tariffs" USING btree ("ezy_id"); + CREATE INDEX "tariffs_image_idx" ON "tariffs" USING btree ("image_id"); + CREATE INDEX "tariffs_updated_at_idx" ON "tariffs" USING btree ("updated_at"); + CREATE INDEX "tariffs_created_at_idx" ON "tariffs" USING btree ("created_at"); + CREATE INDEX "leads_updated_at_idx" ON "leads" USING btree ("updated_at"); + CREATE INDEX "leads_created_at_idx" ON "leads" USING btree ("created_at"); + CREATE INDEX "orders_items_order_idx" ON "orders_items" USING btree ("_order"); + CREATE INDEX "orders_items_parent_id_idx" ON "orders_items" USING btree ("_parent_id"); + CREATE INDEX "orders_updated_at_idx" ON "orders" USING btree ("updated_at"); + CREATE INDEX "orders_created_at_idx" ON "orders" USING btree ("created_at"); + CREATE INDEX "locations_gallery_order_idx" ON "locations_gallery" USING btree ("_order"); + CREATE INDEX "locations_gallery_parent_id_idx" ON "locations_gallery" USING btree ("_parent_id"); + CREATE INDEX "locations_gallery_image_idx" ON "locations_gallery" USING btree ("image_id"); + CREATE UNIQUE INDEX "locations_slug_idx" ON "locations" USING btree ("slug"); + CREATE INDEX "locations_image_idx" ON "locations" USING btree ("image_id"); + CREATE INDEX "locations_meta_meta_image_idx" ON "locations" USING btree ("meta_image_id"); + CREATE INDEX "locations_updated_at_idx" ON "locations" USING btree ("updated_at"); + CREATE INDEX "locations_created_at_idx" ON "locations" USING btree ("created_at"); + CREATE INDEX "reviews_avatar_bg_idx" ON "reviews" USING btree ("avatar_bg_id"); + CREATE INDEX "reviews_updated_at_idx" ON "reviews" USING btree ("updated_at"); + CREATE INDEX "reviews_created_at_idx" ON "reviews" USING btree ("created_at"); + CREATE INDEX "birthday_packages_features_order_idx" ON "birthday_packages_features" USING btree ("_order"); + CREATE INDEX "birthday_packages_features_parent_id_idx" ON "birthday_packages_features" USING btree ("_parent_id"); + CREATE UNIQUE INDEX "birthday_packages_slug_idx" ON "birthday_packages" USING btree ("slug"); + CREATE INDEX "birthday_packages_updated_at_idx" ON "birthday_packages" USING btree ("updated_at"); + CREATE INDEX "birthday_packages_created_at_idx" ON "birthday_packages" USING btree ("created_at"); + CREATE UNIQUE INDEX "payload_kv_key_idx" ON "payload_kv" USING btree ("key"); + CREATE INDEX "payload_locked_documents_global_slug_idx" ON "payload_locked_documents" USING btree ("global_slug"); + CREATE INDEX "payload_locked_documents_updated_at_idx" ON "payload_locked_documents" USING btree ("updated_at"); + CREATE INDEX "payload_locked_documents_created_at_idx" ON "payload_locked_documents" USING btree ("created_at"); + CREATE INDEX "payload_locked_documents_rels_order_idx" ON "payload_locked_documents_rels" USING btree ("order"); + CREATE INDEX "payload_locked_documents_rels_parent_idx" ON "payload_locked_documents_rels" USING btree ("parent_id"); + CREATE INDEX "payload_locked_documents_rels_path_idx" ON "payload_locked_documents_rels" USING btree ("path"); + CREATE INDEX "payload_locked_documents_rels_users_id_idx" ON "payload_locked_documents_rels" USING btree ("users_id"); + CREATE INDEX "payload_locked_documents_rels_media_id_idx" ON "payload_locked_documents_rels" USING btree ("media_id"); + CREATE INDEX "payload_locked_documents_rels_pages_id_idx" ON "payload_locked_documents_rels" USING btree ("pages_id"); + CREATE INDEX "payload_locked_documents_rels_blog_posts_id_idx" ON "payload_locked_documents_rels" USING btree ("blog_posts_id"); + CREATE INDEX "payload_locked_documents_rels_categories_id_idx" ON "payload_locked_documents_rels" USING btree ("categories_id"); + CREATE INDEX "payload_locked_documents_rels_tags_id_idx" ON "payload_locked_documents_rels" USING btree ("tags_id"); + CREATE INDEX "payload_locked_documents_rels_tariffs_id_idx" ON "payload_locked_documents_rels" USING btree ("tariffs_id"); + CREATE INDEX "payload_locked_documents_rels_leads_id_idx" ON "payload_locked_documents_rels" USING btree ("leads_id"); + CREATE INDEX "payload_locked_documents_rels_orders_id_idx" ON "payload_locked_documents_rels" USING btree ("orders_id"); + CREATE INDEX "payload_locked_documents_rels_locations_id_idx" ON "payload_locked_documents_rels" USING btree ("locations_id"); + CREATE INDEX "payload_locked_documents_rels_reviews_id_idx" ON "payload_locked_documents_rels" USING btree ("reviews_id"); + CREATE INDEX "payload_locked_documents_rels_birthday_packages_id_idx" ON "payload_locked_documents_rels" USING btree ("birthday_packages_id"); + CREATE INDEX "payload_preferences_key_idx" ON "payload_preferences" USING btree ("key"); + CREATE INDEX "payload_preferences_updated_at_idx" ON "payload_preferences" USING btree ("updated_at"); + CREATE INDEX "payload_preferences_created_at_idx" ON "payload_preferences" USING btree ("created_at"); + CREATE INDEX "payload_preferences_rels_order_idx" ON "payload_preferences_rels" USING btree ("order"); + CREATE INDEX "payload_preferences_rels_parent_idx" ON "payload_preferences_rels" USING btree ("parent_id"); + CREATE INDEX "payload_preferences_rels_path_idx" ON "payload_preferences_rels" USING btree ("path"); + CREATE INDEX "payload_preferences_rels_users_id_idx" ON "payload_preferences_rels" USING btree ("users_id"); + CREATE INDEX "payload_migrations_updated_at_idx" ON "payload_migrations" USING btree ("updated_at"); + CREATE INDEX "payload_migrations_created_at_idx" ON "payload_migrations" USING btree ("created_at"); + CREATE INDEX "home_page_why_parents_items_order_idx" ON "home_page_why_parents_items" USING btree ("_order"); + CREATE INDEX "home_page_why_parents_items_parent_id_idx" ON "home_page_why_parents_items" USING btree ("_parent_id"); + CREATE INDEX "home_page_why_parents_side_gallery_order_idx" ON "home_page_why_parents_side_gallery" USING btree ("_order"); + CREATE INDEX "home_page_why_parents_side_gallery_parent_id_idx" ON "home_page_why_parents_side_gallery" USING btree ("_parent_id"); + CREATE INDEX "home_page_why_parents_side_gallery_image_idx" ON "home_page_why_parents_side_gallery" USING btree ("image_id"); + CREATE INDEX "home_page_gallery_images_order_idx" ON "home_page_gallery_images" USING btree ("_order"); + CREATE INDEX "home_page_gallery_images_parent_id_idx" ON "home_page_gallery_images" USING btree ("_parent_id"); + CREATE INDEX "home_page_gallery_images_image_idx" ON "home_page_gallery_images" USING btree ("image_id"); + CREATE INDEX "home_page_hero_hero_background_image_idx" ON "home_page" USING btree ("hero_background_image_id"); + CREATE INDEX "home_page_hero_hero_foreground_overlay_idx" ON "home_page" USING btree ("hero_foreground_overlay_id"); + CREATE INDEX "home_page_hero_hero_silhouette_overlay_idx" ON "home_page" USING btree ("hero_silhouette_overlay_id"); + CREATE INDEX "home_page_page_hero_page_hero_background_image_idx" ON "home_page" USING btree ("page_hero_background_image_id"); + CREATE INDEX "home_page_video_video_poster_idx" ON "home_page" USING btree ("video_poster_id"); + CREATE INDEX "home_page_meta_meta_image_idx" ON "home_page" USING btree ("meta_image_id"); + CREATE INDEX "checkout_page_meta_meta_image_idx" ON "checkout_page" USING btree ("meta_image_id"); + CREATE INDEX "thank_you_page_meta_meta_image_idx" ON "thank_you_page" USING btree ("meta_image_id"); + CREATE INDEX "header_nav_links_children_order_idx" ON "header_nav_links_children" USING btree ("_order"); + CREATE INDEX "header_nav_links_children_parent_id_idx" ON "header_nav_links_children" USING btree ("_parent_id"); + CREATE INDEX "header_nav_links_order_idx" ON "header_nav_links" USING btree ("_order"); + CREATE INDEX "header_nav_links_parent_id_idx" ON "header_nav_links" USING btree ("_parent_id"); + CREATE INDEX "header_logo_idx" ON "header" USING btree ("logo_id"); + CREATE INDEX "footer_nav_links_order_idx" ON "footer_nav_links" USING btree ("_order"); + CREATE INDEX "footer_nav_links_parent_id_idx" ON "footer_nav_links" USING btree ("_parent_id"); + CREATE INDEX "footer_socials_order_idx" ON "footer_socials" USING btree ("_order"); + CREATE INDEX "footer_socials_parent_id_idx" ON "footer_socials" USING btree ("_parent_id"); + CREATE INDEX "footer_logo_idx" ON "footer" USING btree ("logo_id"); + CREATE INDEX "site_settings_tariff_category_labels_order_idx" ON "site_settings_tariff_category_labels" USING btree ("_order"); + CREATE INDEX "site_settings_tariff_category_labels_parent_id_idx" ON "site_settings_tariff_category_labels" USING btree ("_parent_id"); + CREATE INDEX "site_settings_default_og_image_idx" ON "site_settings" USING btree ("default_og_image_id"); + CREATE INDEX "dyvolis_page_hero_tips_order_idx" ON "dyvolis_page_hero_tips" USING btree ("_order"); + CREATE INDEX "dyvolis_page_hero_tips_parent_id_idx" ON "dyvolis_page_hero_tips" USING btree ("_parent_id"); + CREATE INDEX "dyvolis_page_gallery_images_order_idx" ON "dyvolis_page_gallery_images" USING btree ("_order"); + CREATE INDEX "dyvolis_page_gallery_images_parent_id_idx" ON "dyvolis_page_gallery_images" USING btree ("_parent_id"); + CREATE INDEX "dyvolis_page_gallery_images_image_idx" ON "dyvolis_page_gallery_images" USING btree ("image_id"); + CREATE INDEX "dyvolis_page_why_visit_items_order_idx" ON "dyvolis_page_why_visit_items" USING btree ("_order"); + CREATE INDEX "dyvolis_page_why_visit_items_parent_id_idx" ON "dyvolis_page_why_visit_items" USING btree ("_parent_id"); + CREATE INDEX "dyvolis_page_review_videos_order_idx" ON "dyvolis_page_review_videos" USING btree ("_order"); + CREATE INDEX "dyvolis_page_review_videos_parent_id_idx" ON "dyvolis_page_review_videos" USING btree ("_parent_id"); + CREATE INDEX "dyvolis_page_meta_meta_image_idx" ON "dyvolis_page" USING btree ("meta_image_id"); + CREATE INDEX "group_visits_page_groups_order_idx" ON "group_visits_page_groups" USING btree ("_order"); + CREATE INDEX "group_visits_page_groups_parent_id_idx" ON "group_visits_page_groups" USING btree ("_parent_id"); + CREATE INDEX "group_visits_page_meta_meta_image_idx" ON "group_visits_page" USING btree ("meta_image_id"); + CREATE INDEX "birthday_page_meta_meta_image_idx" ON "birthday_page" USING btree ("meta_image_id"); + CREATE INDEX "tickets_page_meta_meta_image_idx" ON "tickets_page" USING btree ("meta_image_id");`) +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + DROP TABLE "users_sessions" CASCADE; + DROP TABLE "users" CASCADE; + DROP TABLE "media" CASCADE; + DROP TABLE "pages_blocks_hero" CASCADE; + DROP TABLE "pages_blocks_locations_teaser_locations" CASCADE; + DROP TABLE "pages_blocks_locations_teaser" CASCADE; + DROP TABLE "pages_blocks_features_items" CASCADE; + DROP TABLE "pages_blocks_features" CASCADE; + DROP TABLE "pages_blocks_news_block" CASCADE; + DROP TABLE "pages_blocks_newsletter_form" CASCADE; + DROP TABLE "pages_blocks_gallery_images" CASCADE; + DROP TABLE "pages_blocks_gallery" CASCADE; + DROP TABLE "pages_blocks_rich_text" CASCADE; + DROP TABLE "pages_blocks_image_block" CASCADE; + DROP TABLE "pages_blocks_video_block" CASCADE; + DROP TABLE "pages_blocks_lead_form" CASCADE; + DROP TABLE "pages_blocks_pricing_block" CASCADE; + DROP TABLE "pages_blocks_cta" CASCADE; + DROP TABLE "pages" CASCADE; + DROP TABLE "_pages_v_blocks_hero" CASCADE; + DROP TABLE "_pages_v_blocks_locations_teaser_locations" CASCADE; + DROP TABLE "_pages_v_blocks_locations_teaser" CASCADE; + DROP TABLE "_pages_v_blocks_features_items" CASCADE; + DROP TABLE "_pages_v_blocks_features" CASCADE; + DROP TABLE "_pages_v_blocks_news_block" CASCADE; + DROP TABLE "_pages_v_blocks_newsletter_form" CASCADE; + DROP TABLE "_pages_v_blocks_gallery_images" CASCADE; + DROP TABLE "_pages_v_blocks_gallery" CASCADE; + DROP TABLE "_pages_v_blocks_rich_text" CASCADE; + DROP TABLE "_pages_v_blocks_image_block" CASCADE; + DROP TABLE "_pages_v_blocks_video_block" CASCADE; + DROP TABLE "_pages_v_blocks_lead_form" CASCADE; + DROP TABLE "_pages_v_blocks_pricing_block" CASCADE; + DROP TABLE "_pages_v_blocks_cta" CASCADE; + DROP TABLE "_pages_v" CASCADE; + DROP TABLE "blog_posts" CASCADE; + DROP TABLE "blog_posts_rels" CASCADE; + DROP TABLE "_blog_posts_v" CASCADE; + DROP TABLE "_blog_posts_v_rels" CASCADE; + DROP TABLE "categories" CASCADE; + DROP TABLE "tags" CASCADE; + DROP TABLE "tariffs" CASCADE; + DROP TABLE "leads" CASCADE; + DROP TABLE "orders_items" CASCADE; + DROP TABLE "orders" CASCADE; + DROP TABLE "locations_gallery" CASCADE; + DROP TABLE "locations" CASCADE; + DROP TABLE "reviews" CASCADE; + DROP TABLE "birthday_packages_features" CASCADE; + DROP TABLE "birthday_packages" CASCADE; + DROP TABLE "payload_kv" CASCADE; + DROP TABLE "payload_locked_documents" CASCADE; + DROP TABLE "payload_locked_documents_rels" CASCADE; + DROP TABLE "payload_preferences" CASCADE; + DROP TABLE "payload_preferences_rels" CASCADE; + DROP TABLE "payload_migrations" CASCADE; + DROP TABLE "home_page_why_parents_items" CASCADE; + DROP TABLE "home_page_why_parents_side_gallery" CASCADE; + DROP TABLE "home_page_gallery_images" CASCADE; + DROP TABLE "home_page" CASCADE; + DROP TABLE "checkout_page" CASCADE; + DROP TABLE "thank_you_page" CASCADE; + DROP TABLE "header_nav_links_children" CASCADE; + DROP TABLE "header_nav_links" CASCADE; + DROP TABLE "header" CASCADE; + DROP TABLE "footer_nav_links" CASCADE; + DROP TABLE "footer_socials" CASCADE; + DROP TABLE "footer" CASCADE; + DROP TABLE "site_settings_tariff_category_labels" CASCADE; + DROP TABLE "site_settings" CASCADE; + DROP TABLE "dyvolis_page_hero_tips" CASCADE; + DROP TABLE "dyvolis_page_gallery_images" CASCADE; + DROP TABLE "dyvolis_page_why_visit_items" CASCADE; + DROP TABLE "dyvolis_page_review_videos" CASCADE; + DROP TABLE "dyvolis_page" CASCADE; + DROP TABLE "group_visits_page_groups" CASCADE; + DROP TABLE "group_visits_page" CASCADE; + DROP TABLE "birthday_page" CASCADE; + DROP TABLE "tickets_page" CASCADE; + DROP TYPE "public"."enum_users_role"; + DROP TYPE "public"."enum_pages_blocks_hero_background_type"; + DROP TYPE "public"."enum_pages_blocks_cta_variant"; + DROP TYPE "public"."enum_pages_status"; + DROP TYPE "public"."enum__pages_v_blocks_hero_background_type"; + DROP TYPE "public"."enum__pages_v_blocks_cta_variant"; + DROP TYPE "public"."enum__pages_v_version_status"; + DROP TYPE "public"."enum_blog_posts_status"; + DROP TYPE "public"."enum__blog_posts_v_version_status"; + DROP TYPE "public"."enum_tariffs_category_tag"; + DROP TYPE "public"."enum_leads_status"; + DROP TYPE "public"."enum_orders_status"; + DROP TYPE "public"."enum_reviews_source"; + DROP TYPE "public"."enum_header_nav_links_auto_children_from"; + DROP TYPE "public"."enum_footer_socials_platform";`) +} diff --git a/migrations/index.ts b/migrations/index.ts new file mode 100644 index 0000000..97bed40 --- /dev/null +++ b/migrations/index.ts @@ -0,0 +1,9 @@ +import * as migration_20260515_153940 from './20260515_153940' + +export const migrations = [ + { + up: migration_20260515_153940.up, + down: migration_20260515_153940.down, + name: '20260515_153940', + }, +] diff --git a/package.json b/package.json index dae4f10..8590e74 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "shumiland-site", "version": "0.1.0", "private": true, + "type": "module", "packageManager": "pnpm@11.0.9", "engines": { "node": ">=20.0.0", @@ -20,6 +21,10 @@ "test:e2e": "playwright test", "test:e2e:ui": "playwright test --ui", "payload": "payload", + "migrate": "NODE_OPTIONS='--import tsx' payload migrate", + "migrate:create": "NODE_OPTIONS='--import tsx' payload migrate:create", + "migrate:status": "NODE_OPTIONS='--import tsx' payload migrate:status", + "generate:types": "NODE_OPTIONS='--import tsx' payload generate:types", "prepare": "husky", "seed": "tsx src/seed.ts" }, @@ -83,7 +88,7 @@ "prettier-plugin-tailwindcss": "^0.8.0", "supertest": "^7.1.0", "tailwindcss": "^4.3.0", - "tsx": "^4.22.0", + "tsx": "^4.21.1", "typescript": "^6.0.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.6" diff --git a/payload.config.ts b/payload.config.ts index 3287d7d..d38086d 100644 --- a/payload.config.ts +++ b/payload.config.ts @@ -7,29 +7,29 @@ import sharp from 'sharp' import path from 'path' import { fileURLToPath } from 'url' -import { Users } from './src/collections/Users' -import { Media } from './src/collections/Media' -import { Pages } from './src/collections/Pages' -import { BlogPosts } from './src/collections/BlogPosts' -import { Categories } from './src/collections/Categories' -import { Tags } from './src/collections/Tags' -import { Tariffs } from './src/collections/Tariffs' -import { Leads } from './src/collections/Leads' -import { Orders } from './src/collections/Orders' -import { Locations } from './src/collections/Locations' -import { Reviews } from './src/collections/Reviews' -import { BirthdayPackages } from './src/collections/BirthdayPackages' +import { Users } from './src/collections/Users.js' +import { Media } from './src/collections/Media.js' +import { Pages } from './src/collections/Pages.js' +import { BlogPosts } from './src/collections/BlogPosts.js' +import { Categories } from './src/collections/Categories.js' +import { Tags } from './src/collections/Tags.js' +import { Tariffs } from './src/collections/Tariffs.js' +import { Leads } from './src/collections/Leads.js' +import { Orders } from './src/collections/Orders.js' +import { Locations } from './src/collections/Locations.js' +import { Reviews } from './src/collections/Reviews.js' +import { BirthdayPackages } from './src/collections/BirthdayPackages.js' -import { HomePage } from './src/globals/HomePage' -import { CheckoutPage } from './src/globals/CheckoutPage' -import { ThankYouPage } from './src/globals/ThankYouPage' -import { Header } from './src/globals/Header' -import { Footer } from './src/globals/Footer' -import { SiteSettings } from './src/globals/SiteSettings' -import { DyvoLisPage } from './src/globals/DyvoLisPage' -import { GroupVisitsPage } from './src/globals/GroupVisitsPage' -import { BirthdayPage } from './src/globals/BirthdayPage' -import { TicketsPage } from './src/globals/TicketsPage' +import { HomePage } from './src/globals/HomePage.js' +import { CheckoutPage } from './src/globals/CheckoutPage.js' +import { ThankYouPage } from './src/globals/ThankYouPage.js' +import { Header } from './src/globals/Header.js' +import { Footer } from './src/globals/Footer.js' +import { SiteSettings } from './src/globals/SiteSettings.js' +import { DyvoLisPage } from './src/globals/DyvoLisPage.js' +import { GroupVisitsPage } from './src/globals/GroupVisitsPage.js' +import { BirthdayPage } from './src/globals/BirthdayPage.js' +import { TicketsPage } from './src/globals/TicketsPage.js' const filename = fileURLToPath(import.meta.url) const dirname = path.dirname(filename) @@ -87,13 +87,43 @@ export default buildConfig({ plugins: [ seoPlugin({ collections: ['pages', 'blog-posts', 'locations'], + globals: [ + 'home-page', + 'dyvolis-page', + 'group-visits-page', + 'birthday-page', + 'tickets-page', + 'checkout-page', + 'thank-you-page', + ], uploadsCollection: 'media', + tabbedUI: true, + generateURL: ({ doc, collectionSlug, globalSlug }) => { + const base = 'https://shumiland.com.ua' + const d = doc as { slug?: string } + if (collectionSlug === 'blog-posts') return `${base}/blog/${d.slug ?? ''}` + if (collectionSlug === 'locations') return `${base}/lokatsii/${d.slug ?? ''}` + if (collectionSlug === 'pages') return `${base}/${d.slug ?? ''}` + const globalURLs: Record = { + 'home-page': base, + 'dyvolis-page': `${base}/lokatsii/dyvolis`, + 'group-visits-page': `${base}/grupovi-vidviduvannia`, + 'birthday-page': `${base}/dni-narodzhennia`, + 'tickets-page': `${base}/kvytky`, + 'checkout-page': `${base}/kvytky/checkout`, + 'thank-you-page': `${base}/kvytky/dyakuiemo`, + } + return globalURLs[globalSlug ?? ''] ?? base + }, generateTitle: ({ doc }) => { - const title = - (doc as { title?: string; name?: string }).title ?? (doc as { name?: string }).name ?? '' + const d = doc as { title?: string; name?: string; heroTitle?: string } + const title = d.title ?? d.name ?? d.heroTitle ?? '' return title ? `${title} — Шуміленд` : 'Шуміленд' }, - generateDescription: ({ doc }) => (doc as { excerpt?: string }).excerpt ?? '', + generateDescription: ({ doc }) => { + const d = doc as { excerpt?: string; shortDesc?: string; heroSubtitle?: string } + return d.excerpt ?? d.shortDesc ?? d.heroSubtitle ?? '' + }, }), ], diff --git a/src/app/(frontend)/blog/[slug]/page.tsx b/src/app/(frontend)/blog/[slug]/page.tsx index ed5aa00..e4e0a3a 100644 --- a/src/app/(frontend)/blog/[slug]/page.tsx +++ b/src/app/(frontend)/blog/[slug]/page.tsx @@ -16,7 +16,8 @@ interface BlogPost { slug: string excerpt?: string | null publishedAt?: string | null - // eslint-disable-next-line @typescript-eslint/no-explicit-any + meta?: { title?: string | null; description?: string | null } | null + body?: any hero?: { url?: string | null; alt?: string | null } | null } @@ -41,8 +42,8 @@ export async function generateMetadata({ params }: Props): Promise { const post = await getPost(slug) if (!post) return { title: 'Не знайдено — Шуміленд' } return { - title: `${post.title} — Шуміленд`, - description: post.excerpt ?? '', + title: post.meta?.title ?? `${post.title} — Шуміленд`, + description: post.meta?.description ?? post.excerpt ?? '', } } diff --git a/src/app/(frontend)/dni-narodzhennia/page.tsx b/src/app/(frontend)/dni-narodzhennia/page.tsx index f2c903b..a051a97 100644 --- a/src/app/(frontend)/dni-narodzhennia/page.tsx +++ b/src/app/(frontend)/dni-narodzhennia/page.tsx @@ -36,9 +36,9 @@ function formatPrice(price: number): string { export async function generateMetadata(): Promise { const pageData = await getBirthdayPageData() return { - title: pageData?.metaTitle ?? 'Дні народження — Шуміленд', + title: pageData?.meta?.title ?? 'Дні народження — Шуміленд', description: - pageData?.metaDescription ?? + pageData?.meta?.description ?? 'Святкуйте день народження у Шуміленді! Пакети для дітей та дорослих з розвагами, аніматорами та кейтерингом.', } } @@ -97,7 +97,7 @@ export default async function BirthdayPage({

    - {pkg.features?.map((f: { id?: string; text: string }) => ( + {pkg.features?.map((f: { id?: string | null; text: string }) => (
  • { const data = await getGroupVisitsData() return { - title: data?.metaTitle ?? 'Групові відвідування — Шуміленд', + title: data?.meta?.title ?? 'Групові відвідування — Шуміленд', description: - data?.metaDescription ?? + data?.meta?.description ?? 'Організуйте групове відвідування Шуміленду. Спеціальні ціни для шкіл, дитячих садків і корпоративних груп.', } } diff --git a/src/app/(frontend)/kvytky/page.tsx b/src/app/(frontend)/kvytky/page.tsx index 1121841..60f1d93 100644 --- a/src/app/(frontend)/kvytky/page.tsx +++ b/src/app/(frontend)/kvytky/page.tsx @@ -64,9 +64,9 @@ async function getGroupVisitsData() { export async function generateMetadata(): Promise { const pageData = await getPageData() return { - title: pageData?.metaTitle ?? 'Купити квиток — Шуміленд', + title: pageData?.meta?.title ?? 'Купити квиток — Шуміленд', description: - pageData?.metaDescription ?? + pageData?.meta?.description ?? 'Придбайте квитки до Шуміленду онлайн. Вхідні квитки на всі зони парку.', } } diff --git a/src/app/(frontend)/lokatsii/dyvolis/page.tsx b/src/app/(frontend)/lokatsii/dyvolis/page.tsx index d461897..e084078 100644 --- a/src/app/(frontend)/lokatsii/dyvolis/page.tsx +++ b/src/app/(frontend)/lokatsii/dyvolis/page.tsx @@ -21,9 +21,10 @@ export async function generateMetadata(): Promise { const data = await getDyvoLisData() return { title: - data?.metaTitle ?? (data?.heroTitle ? `${data.heroTitle} — Шуміленд` : 'ДивоЛіс — Шуміленд'), + data?.meta?.title ?? + (data?.heroTitle ? `${data.heroTitle} — Шуміленд` : 'ДивоЛіс — Шуміленд'), description: - data?.metaDescription ?? + data?.meta?.description ?? 'Казковий топіарний ліс у Шуміленді: фігури з безпечних матеріалів, унікальна ландшафтна композиція та повна свобода для дітей.', } } @@ -43,9 +44,11 @@ export default async function DyvoLisPage() { { - if (!item.image || typeof item.image === 'string') return null - return item.image.url ?? null + + ?.map((item: any) => { + if (!item.image || typeof item.image === 'number' || typeof item.image === 'string') + return null + return (item.image as { url?: string | null }).url ?? null }) .filter((u: string | null): u is string => u !== null)} /> diff --git a/src/globals/BirthdayPage.ts b/src/globals/BirthdayPage.ts index 314213f..5d9e13e 100644 --- a/src/globals/BirthdayPage.ts +++ b/src/globals/BirthdayPage.ts @@ -29,18 +29,5 @@ export const BirthdayPage: GlobalConfig = { type: 'text', defaultValue: "Залиште заявку і наш менеджер зв'яжеться з вами протягом 30 хвилин", }, - { - name: 'metaTitle', - type: 'text', - label: 'SEO: Meta Title', - defaultValue: 'Дні народження — Шуміленд', - }, - { - name: 'metaDescription', - type: 'textarea', - label: 'SEO: Meta Description', - defaultValue: - 'Святкуйте день народження у Шуміленді! Пакети для дітей та дорослих з розвагами, аніматорами та кейтерингом.', - }, ], } diff --git a/src/globals/DyvoLisPage.ts b/src/globals/DyvoLisPage.ts index ecc1f8b..beb85d2 100644 --- a/src/globals/DyvoLisPage.ts +++ b/src/globals/DyvoLisPage.ts @@ -120,18 +120,5 @@ export const DyvoLisPage: GlobalConfig = { defaultValue: 'Динопарк + Диволіс із казковими топіарними фігурами + Дзеркальний лабіринт', admin: { description: 'Підзаголовок під секцією "Комбо" в блоці квитків' }, }, - { - name: 'metaTitle', - type: 'text', - label: 'SEO: Meta Title', - defaultValue: 'ДивоЛіс — Шуміленд', - }, - { - name: 'metaDescription', - type: 'textarea', - label: 'SEO: Meta Description', - defaultValue: - 'Казковий топіарний ліс у Шуміленді: фігури з безпечних матеріалів, унікальна ландшафтна композиція та повна свобода для дітей.', - }, ], } diff --git a/src/globals/GroupVisitsPage.ts b/src/globals/GroupVisitsPage.ts index f110ddf..ea5e95e 100644 --- a/src/globals/GroupVisitsPage.ts +++ b/src/globals/GroupVisitsPage.ts @@ -71,18 +71,5 @@ export const GroupVisitsPage: GlobalConfig = { }, ], }, - { - name: 'metaTitle', - type: 'text', - label: 'SEO: Meta Title', - defaultValue: 'Групові відвідування — Шуміленд', - }, - { - name: 'metaDescription', - type: 'textarea', - label: 'SEO: Meta Description', - defaultValue: - 'Організуйте групове відвідування Шуміленду. Спеціальні ціни для шкіл, дитячих садків і корпоративних груп.', - }, ], } diff --git a/src/globals/TicketsPage.ts b/src/globals/TicketsPage.ts index 13aef73..9d44287 100644 --- a/src/globals/TicketsPage.ts +++ b/src/globals/TicketsPage.ts @@ -30,17 +30,5 @@ export const TicketsPage: GlobalConfig = { label: 'Заголовок секції "Групові відвідування"', defaultValue: 'Групові відвідування', }, - { - name: 'metaTitle', - type: 'text', - label: 'SEO: Meta Title', - defaultValue: 'Купити квиток — Шуміленд', - }, - { - name: 'metaDescription', - type: 'textarea', - label: 'SEO: Meta Description', - defaultValue: 'Придбайте квитки до Шуміленду онлайн. Вхідні квитки на всі зони парку.', - }, ], }