{ "id": "f1aee806-f5dc-46a0-b17b-2d54b552592f", "prevId": "49fee72d-1d0d-4f6e-a74f-bc4f0cc15270", "version": "7", "dialect": "postgresql", "tables": { "public.anonymous_messages": { "name": "anonymous_messages", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "submitted_by_member_id": { "name": "submitted_by_member_id", "type": "uuid", "primaryKey": false, "notNull": true }, "raw_text": { "name": "raw_text", "type": "text", "primaryKey": false, "notNull": true }, "sanitized_text": { "name": "sanitized_text", "type": "text", "primaryKey": false, "notNull": false }, "moderation_status": { "name": "moderation_status", "type": "text", "primaryKey": false, "notNull": true }, "moderation_reason": { "name": "moderation_reason", "type": "text", "primaryKey": false, "notNull": false }, "telegram_chat_id": { "name": "telegram_chat_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_message_id": { "name": "telegram_message_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_update_id": { "name": "telegram_update_id", "type": "text", "primaryKey": false, "notNull": true }, "posted_chat_id": { "name": "posted_chat_id", "type": "text", "primaryKey": false, "notNull": false }, "posted_thread_id": { "name": "posted_thread_id", "type": "text", "primaryKey": false, "notNull": false }, "posted_message_id": { "name": "posted_message_id", "type": "text", "primaryKey": false, "notNull": false }, "failure_reason": { "name": "failure_reason", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "posted_at": { "name": "posted_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false } }, "indexes": { "anonymous_messages_household_tg_update_unique": { "name": "anonymous_messages_household_tg_update_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_update_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "anonymous_messages_member_created_idx": { "name": "anonymous_messages_member_created_idx", "columns": [ { "expression": "submitted_by_member_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "anonymous_messages_status_created_idx": { "name": "anonymous_messages_status_created_idx", "columns": [ { "expression": "moderation_status", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "anonymous_messages_household_id_households_id_fk": { "name": "anonymous_messages_household_id_households_id_fk", "tableFrom": "anonymous_messages", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "anonymous_messages_submitted_by_member_id_members_id_fk": { "name": "anonymous_messages_submitted_by_member_id_members_id_fk", "tableFrom": "anonymous_messages", "tableTo": "members", "columnsFrom": ["submitted_by_member_id"], "columnsTo": ["id"], "onDelete": "restrict", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.billing_cycles": { "name": "billing_cycles", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "period": { "name": "period", "type": "text", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "started_at": { "name": "started_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "closed_at": { "name": "closed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "billing_cycles_household_period_unique": { "name": "billing_cycles_household_period_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "period", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "billing_cycles_household_period_idx": { "name": "billing_cycles_household_period_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "period", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "billing_cycles_household_id_households_id_fk": { "name": "billing_cycles_household_id_households_id_fk", "tableFrom": "billing_cycles", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.household_telegram_chats": { "name": "household_telegram_chats", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "telegram_chat_id": { "name": "telegram_chat_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_chat_type": { "name": "telegram_chat_type", "type": "text", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "household_telegram_chats_household_unique": { "name": "household_telegram_chats_household_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "household_telegram_chats_chat_unique": { "name": "household_telegram_chats_chat_unique", "columns": [ { "expression": "telegram_chat_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "household_telegram_chats_household_id_households_id_fk": { "name": "household_telegram_chats_household_id_households_id_fk", "tableFrom": "household_telegram_chats", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.household_topic_bindings": { "name": "household_topic_bindings", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true }, "telegram_thread_id": { "name": "telegram_thread_id", "type": "text", "primaryKey": false, "notNull": true }, "topic_name": { "name": "topic_name", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "household_topic_bindings_household_role_unique": { "name": "household_topic_bindings_household_role_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "role", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "household_topic_bindings_household_thread_unique": { "name": "household_topic_bindings_household_thread_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_thread_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "household_topic_bindings_household_role_idx": { "name": "household_topic_bindings_household_role_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "role", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "household_topic_bindings_household_id_households_id_fk": { "name": "household_topic_bindings_household_id_households_id_fk", "tableFrom": "household_topic_bindings", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.households": { "name": "households", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.members": { "name": "members", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "telegram_user_id": { "name": "telegram_user_id", "type": "text", "primaryKey": false, "notNull": true }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": true }, "is_admin": { "name": "is_admin", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "joined_at": { "name": "joined_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "members_household_idx": { "name": "members_household_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "members_household_tg_user_unique": { "name": "members_household_tg_user_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "members_household_id_households_id_fk": { "name": "members_household_id_households_id_fk", "tableFrom": "members", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.presence_overrides": { "name": "presence_overrides", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "cycle_id": { "name": "cycle_id", "type": "uuid", "primaryKey": false, "notNull": true }, "member_id": { "name": "member_id", "type": "uuid", "primaryKey": false, "notNull": true }, "utility_days": { "name": "utility_days", "type": "integer", "primaryKey": false, "notNull": true }, "reason": { "name": "reason", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "presence_overrides_cycle_member_unique": { "name": "presence_overrides_cycle_member_unique", "columns": [ { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "member_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "presence_overrides_cycle_idx": { "name": "presence_overrides_cycle_idx", "columns": [ { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "presence_overrides_cycle_id_billing_cycles_id_fk": { "name": "presence_overrides_cycle_id_billing_cycles_id_fk", "tableFrom": "presence_overrides", "tableTo": "billing_cycles", "columnsFrom": ["cycle_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "presence_overrides_member_id_members_id_fk": { "name": "presence_overrides_member_id_members_id_fk", "tableFrom": "presence_overrides", "tableTo": "members", "columnsFrom": ["member_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.processed_bot_messages": { "name": "processed_bot_messages", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true }, "source_message_key": { "name": "source_message_key", "type": "text", "primaryKey": false, "notNull": true }, "payload_hash": { "name": "payload_hash", "type": "text", "primaryKey": false, "notNull": false }, "processed_at": { "name": "processed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "processed_bot_messages_source_message_unique": { "name": "processed_bot_messages_source_message_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "source", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "source_message_key", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "processed_bot_messages_household_id_households_id_fk": { "name": "processed_bot_messages_household_id_households_id_fk", "tableFrom": "processed_bot_messages", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.purchase_entries": { "name": "purchase_entries", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "cycle_id": { "name": "cycle_id", "type": "uuid", "primaryKey": false, "notNull": false }, "payer_member_id": { "name": "payer_member_id", "type": "uuid", "primaryKey": false, "notNull": true }, "amount_minor": { "name": "amount_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "raw_text": { "name": "raw_text", "type": "text", "primaryKey": false, "notNull": true }, "normalized_text": { "name": "normalized_text", "type": "text", "primaryKey": false, "notNull": false }, "parser_mode": { "name": "parser_mode", "type": "text", "primaryKey": false, "notNull": true }, "parser_confidence": { "name": "parser_confidence", "type": "integer", "primaryKey": false, "notNull": true }, "telegram_chat_id": { "name": "telegram_chat_id", "type": "text", "primaryKey": false, "notNull": false }, "telegram_message_id": { "name": "telegram_message_id", "type": "text", "primaryKey": false, "notNull": false }, "telegram_thread_id": { "name": "telegram_thread_id", "type": "text", "primaryKey": false, "notNull": false }, "message_sent_at": { "name": "message_sent_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "purchase_entries_household_cycle_idx": { "name": "purchase_entries_household_cycle_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "purchase_entries_payer_idx": { "name": "purchase_entries_payer_idx", "columns": [ { "expression": "payer_member_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "purchase_entries_household_tg_message_unique": { "name": "purchase_entries_household_tg_message_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_chat_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_message_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "purchase_entries_household_id_households_id_fk": { "name": "purchase_entries_household_id_households_id_fk", "tableFrom": "purchase_entries", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "purchase_entries_cycle_id_billing_cycles_id_fk": { "name": "purchase_entries_cycle_id_billing_cycles_id_fk", "tableFrom": "purchase_entries", "tableTo": "billing_cycles", "columnsFrom": ["cycle_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" }, "purchase_entries_payer_member_id_members_id_fk": { "name": "purchase_entries_payer_member_id_members_id_fk", "tableFrom": "purchase_entries", "tableTo": "members", "columnsFrom": ["payer_member_id"], "columnsTo": ["id"], "onDelete": "restrict", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.purchase_messages": { "name": "purchase_messages", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "sender_member_id": { "name": "sender_member_id", "type": "uuid", "primaryKey": false, "notNull": false }, "sender_telegram_user_id": { "name": "sender_telegram_user_id", "type": "text", "primaryKey": false, "notNull": true }, "sender_display_name": { "name": "sender_display_name", "type": "text", "primaryKey": false, "notNull": false }, "raw_text": { "name": "raw_text", "type": "text", "primaryKey": false, "notNull": true }, "telegram_chat_id": { "name": "telegram_chat_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_message_id": { "name": "telegram_message_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_thread_id": { "name": "telegram_thread_id", "type": "text", "primaryKey": false, "notNull": true }, "telegram_update_id": { "name": "telegram_update_id", "type": "text", "primaryKey": false, "notNull": true }, "message_sent_at": { "name": "message_sent_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "parsed_amount_minor": { "name": "parsed_amount_minor", "type": "bigint", "primaryKey": false, "notNull": false }, "parsed_currency": { "name": "parsed_currency", "type": "text", "primaryKey": false, "notNull": false }, "parsed_item_description": { "name": "parsed_item_description", "type": "text", "primaryKey": false, "notNull": false }, "parser_mode": { "name": "parser_mode", "type": "text", "primaryKey": false, "notNull": false }, "parser_confidence": { "name": "parser_confidence", "type": "integer", "primaryKey": false, "notNull": false }, "needs_review": { "name": "needs_review", "type": "integer", "primaryKey": false, "notNull": true, "default": 1 }, "parser_error": { "name": "parser_error", "type": "text", "primaryKey": false, "notNull": false }, "processing_status": { "name": "processing_status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "ingested_at": { "name": "ingested_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "purchase_messages_household_thread_idx": { "name": "purchase_messages_household_thread_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_thread_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "purchase_messages_sender_idx": { "name": "purchase_messages_sender_idx", "columns": [ { "expression": "sender_telegram_user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "purchase_messages_household_tg_message_unique": { "name": "purchase_messages_household_tg_message_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_chat_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_message_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "purchase_messages_household_tg_update_unique": { "name": "purchase_messages_household_tg_update_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "telegram_update_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "purchase_messages_household_id_households_id_fk": { "name": "purchase_messages_household_id_households_id_fk", "tableFrom": "purchase_messages", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "purchase_messages_sender_member_id_members_id_fk": { "name": "purchase_messages_sender_member_id_members_id_fk", "tableFrom": "purchase_messages", "tableTo": "members", "columnsFrom": ["sender_member_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.rent_rules": { "name": "rent_rules", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "amount_minor": { "name": "amount_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "effective_from_period": { "name": "effective_from_period", "type": "text", "primaryKey": false, "notNull": true }, "effective_to_period": { "name": "effective_to_period", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "rent_rules_household_from_period_unique": { "name": "rent_rules_household_from_period_unique", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "effective_from_period", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "rent_rules_household_from_period_idx": { "name": "rent_rules_household_from_period_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "effective_from_period", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "rent_rules_household_id_households_id_fk": { "name": "rent_rules_household_id_households_id_fk", "tableFrom": "rent_rules", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.settlement_lines": { "name": "settlement_lines", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "settlement_id": { "name": "settlement_id", "type": "uuid", "primaryKey": false, "notNull": true }, "member_id": { "name": "member_id", "type": "uuid", "primaryKey": false, "notNull": true }, "rent_share_minor": { "name": "rent_share_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "utility_share_minor": { "name": "utility_share_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "purchase_offset_minor": { "name": "purchase_offset_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "net_due_minor": { "name": "net_due_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "explanations": { "name": "explanations", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'[]'::jsonb" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "settlement_lines_settlement_member_unique": { "name": "settlement_lines_settlement_member_unique", "columns": [ { "expression": "settlement_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "member_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "settlement_lines_settlement_idx": { "name": "settlement_lines_settlement_idx", "columns": [ { "expression": "settlement_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "settlement_lines_settlement_id_settlements_id_fk": { "name": "settlement_lines_settlement_id_settlements_id_fk", "tableFrom": "settlement_lines", "tableTo": "settlements", "columnsFrom": ["settlement_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "settlement_lines_member_id_members_id_fk": { "name": "settlement_lines_member_id_members_id_fk", "tableFrom": "settlement_lines", "tableTo": "members", "columnsFrom": ["member_id"], "columnsTo": ["id"], "onDelete": "restrict", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.settlements": { "name": "settlements", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "cycle_id": { "name": "cycle_id", "type": "uuid", "primaryKey": false, "notNull": true }, "input_hash": { "name": "input_hash", "type": "text", "primaryKey": false, "notNull": true }, "total_due_minor": { "name": "total_due_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "computed_at": { "name": "computed_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" }, "metadata": { "name": "metadata", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" } }, "indexes": { "settlements_cycle_unique": { "name": "settlements_cycle_unique", "columns": [ { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "settlements_household_computed_idx": { "name": "settlements_household_computed_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "computed_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "settlements_household_id_households_id_fk": { "name": "settlements_household_id_households_id_fk", "tableFrom": "settlements", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "settlements_cycle_id_billing_cycles_id_fk": { "name": "settlements_cycle_id_billing_cycles_id_fk", "tableFrom": "settlements", "tableTo": "billing_cycles", "columnsFrom": ["cycle_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.utility_bills": { "name": "utility_bills", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "cycle_id": { "name": "cycle_id", "type": "uuid", "primaryKey": false, "notNull": true }, "bill_name": { "name": "bill_name", "type": "text", "primaryKey": false, "notNull": true }, "amount_minor": { "name": "amount_minor", "type": "bigint", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true }, "due_date": { "name": "due_date", "type": "date", "primaryKey": false, "notNull": false }, "source": { "name": "source", "type": "text", "primaryKey": false, "notNull": true, "default": "'manual'" }, "created_by_member_id": { "name": "created_by_member_id", "type": "uuid", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "utility_bills_cycle_idx": { "name": "utility_bills_cycle_idx", "columns": [ { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "utility_bills_household_cycle_idx": { "name": "utility_bills_household_cycle_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "cycle_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "utility_bills_household_id_households_id_fk": { "name": "utility_bills_household_id_households_id_fk", "tableFrom": "utility_bills", "tableTo": "households", "columnsFrom": ["household_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "utility_bills_cycle_id_billing_cycles_id_fk": { "name": "utility_bills_cycle_id_billing_cycles_id_fk", "tableFrom": "utility_bills", "tableTo": "billing_cycles", "columnsFrom": ["cycle_id"], "columnsTo": ["id"], "onDelete": "cascade", "onUpdate": "no action" }, "utility_bills_created_by_member_id_members_id_fk": { "name": "utility_bills_created_by_member_id_members_id_fk", "tableFrom": "utility_bills", "tableTo": "members", "columnsFrom": ["created_by_member_id"], "columnsTo": ["id"], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }