Files
household-bot/packages/db/drizzle/meta/0002_snapshot.json

1351 lines
37 KiB
JSON

{
"id": "5ddb4be4-d1fb-4cef-b010-62371bbd13c9",
"prevId": "fbec9197-8029-45f9-8f7d-36416d39d0b8",
"version": "7",
"dialect": "postgresql",
"tables": {
"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.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
},
"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": {}
}
}