{ "id": "ad2ca126-1164-41a5-88fe-9c1ca80042dd", "prevId": "3ee04103-03cd-4ce8-96fb-139da125108e", "version": "7", "dialect": "postgresql", "tables": { "public.categories": { "name": "categories", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": false }, "type": { "name": "type", "type": "category_type", "typeSchema": "public", "primaryKey": false, "notNull": true }, "is_default": { "name": "is_default", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "categories_household_id_idx": { "name": "categories_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "categories_household_id_households_id_fk": { "name": "categories_household_id_households_id_fk", "tableFrom": "categories", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.children": { "name": "children", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": true, "default": "'#378ADD'" }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "children_household_id_idx": { "name": "children_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "children_household_id_households_id_fk": { "name": "children_household_id_households_id_fk", "tableFrom": "children", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.debt_payments": { "name": "debt_payments", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "debt_id": { "name": "debt_id", "type": "text", "primaryKey": false, "notNull": true }, "amount": { "name": "amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true }, "date": { "name": "date", "type": "date", "primaryKey": false, "notNull": true }, "note": { "name": "note", "type": "text", "primaryKey": false, "notNull": false }, "linked_transaction_id": { "name": "linked_transaction_id", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "debt_payments_debt_id_idx": { "name": "debt_payments_debt_id_idx", "columns": [ { "expression": "debt_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "debt_payments_debt_id_debts_id_fk": { "name": "debt_payments_debt_id_debts_id_fk", "tableFrom": "debt_payments", "tableTo": "debts", "columnsFrom": [ "debt_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "debt_payments_linked_transaction_id_transactions_id_fk": { "name": "debt_payments_linked_transaction_id_transactions_id_fk", "tableFrom": "debt_payments", "tableTo": "transactions", "columnsFrom": [ "linked_transaction_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.debts": { "name": "debts", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "creditor_user_id": { "name": "creditor_user_id", "type": "text", "primaryKey": false, "notNull": false }, "label": { "name": "label", "type": "text", "primaryKey": false, "notNull": true }, "creditor": { "name": "creditor", "type": "text", "primaryKey": false, "notNull": false }, "total_amount": { "name": "total_amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "closed_at": { "name": "closed_at", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": { "debts_household_id_idx": { "name": "debts_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "debts_user_id_idx": { "name": "debts_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "debts_household_id_households_id_fk": { "name": "debts_household_id_households_id_fk", "tableFrom": "debts", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "debts_user_id_user_id_fk": { "name": "debts_user_id_user_id_fk", "tableFrom": "debts", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "debts_creditor_user_id_user_id_fk": { "name": "debts_creditor_user_id_user_id_fk", "tableFrom": "debts", "tableTo": "user", "columnsFrom": [ "creditor_user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.households": { "name": "households", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "owner_id": { "name": "owner_id", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": { "households_owner_id_user_id_fk": { "name": "households_owner_id_user_id_fk", "tableFrom": "households", "tableTo": "user", "columnsFrom": [ "owner_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.savings_goals": { "name": "savings_goals", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "target_amount": { "name": "target_amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true }, "current_amount": { "name": "current_amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true, "default": "'0'" }, "target_date": { "name": "target_date", "type": "date", "primaryKey": false, "notNull": false }, "allocation_percent": { "name": "allocation_percent", "type": "numeric(5, 2)", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "savings_goals_household_id_idx": { "name": "savings_goals_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "savings_goals_household_id_households_id_fk": { "name": "savings_goals_household_id_households_id_fk", "tableFrom": "savings_goals", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.shopping_list_items": { "name": "shopping_list_items", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "list_id": { "name": "list_id", "type": "text", "primaryKey": false, "notNull": true }, "added_by_user_id": { "name": "added_by_user_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "quantity": { "name": "quantity", "type": "numeric(10, 2)", "primaryKey": false, "notNull": false }, "unit": { "name": "unit", "type": "text", "primaryKey": false, "notNull": false }, "is_checked": { "name": "is_checked", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "checked_by_user_id": { "name": "checked_by_user_id", "type": "text", "primaryKey": false, "notNull": false }, "checked_at": { "name": "checked_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "shopping_list_items_list_id_idx": { "name": "shopping_list_items_list_id_idx", "columns": [ { "expression": "list_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "shopping_list_items_list_id_shopping_lists_id_fk": { "name": "shopping_list_items_list_id_shopping_lists_id_fk", "tableFrom": "shopping_list_items", "tableTo": "shopping_lists", "columnsFrom": [ "list_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "shopping_list_items_added_by_user_id_user_id_fk": { "name": "shopping_list_items_added_by_user_id_user_id_fk", "tableFrom": "shopping_list_items", "tableTo": "user", "columnsFrom": [ "added_by_user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "shopping_list_items_checked_by_user_id_user_id_fk": { "name": "shopping_list_items_checked_by_user_id_user_id_fk", "tableFrom": "shopping_list_items", "tableTo": "user", "columnsFrom": [ "checked_by_user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.shopping_lists": { "name": "shopping_lists", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": true, "default": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "shopping_lists_household_id_idx": { "name": "shopping_lists_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "shopping_lists_household_id_households_id_fk": { "name": "shopping_lists_household_id_households_id_fk", "tableFrom": "shopping_lists", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.subscription_plans": { "name": "subscription_plans", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "plan": { "name": "plan", "type": "subscription_plan", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'free'" }, "status": { "name": "status", "type": "subscription_status", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'active'" }, "stripe_customer_id": { "name": "stripe_customer_id", "type": "text", "primaryKey": false, "notNull": false }, "stripe_subscription_id": { "name": "stripe_subscription_id", "type": "text", "primaryKey": false, "notNull": false }, "current_period_start": { "name": "current_period_start", "type": "timestamp", "primaryKey": false, "notNull": false }, "current_period_end": { "name": "current_period_end", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "subscription_plans_household_id_idx": { "name": "subscription_plans_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "subscription_plans_household_id_households_id_fk": { "name": "subscription_plans_household_id_households_id_fk", "tableFrom": "subscription_plans", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sync_queue": { "name": "sync_queue", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "operation": { "name": "operation", "type": "sync_operation", "typeSchema": "public", "primaryKey": false, "notNull": true }, "table_name": { "name": "table_name", "type": "text", "primaryKey": false, "notNull": true }, "payload": { "name": "payload", "type": "jsonb", "primaryKey": false, "notNull": true }, "attempts": { "name": "attempts", "type": "numeric", "primaryKey": false, "notNull": true, "default": "'0'" }, "last_error": { "name": "last_error", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "sync_queue_household_id_idx": { "name": "sync_queue_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "sync_queue_household_id_households_id_fk": { "name": "sync_queue_household_id_households_id_fk", "tableFrom": "sync_queue", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "sync_queue_user_id_user_id_fk": { "name": "sync_queue_user_id_user_id_fk", "tableFrom": "sync_queue", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.transactions": { "name": "transactions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "category_id": { "name": "category_id", "type": "text", "primaryKey": false, "notNull": false }, "child_id": { "name": "child_id", "type": "text", "primaryKey": false, "notNull": false }, "scope": { "name": "scope", "type": "transaction_scope", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'household'" }, "amount": { "name": "amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'EUR'" }, "type": { "name": "type", "type": "transaction_type", "typeSchema": "public", "primaryKey": false, "notNull": true }, "is_fixed": { "name": "is_fixed", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_carry_over": { "name": "is_carry_over", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "merchant": { "name": "merchant", "type": "text", "primaryKey": false, "notNull": false }, "date": { "name": "date", "type": "date", "primaryKey": false, "notNull": true }, "receipt_image_url": { "name": "receipt_image_url", "type": "text", "primaryKey": false, "notNull": false }, "synced_at": { "name": "synced_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "transactions_household_id_idx": { "name": "transactions_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transactions_user_id_idx": { "name": "transactions_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transactions_date_idx": { "name": "transactions_date_idx", "columns": [ { "expression": "date", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "transactions_scope_idx": { "name": "transactions_scope_idx", "columns": [ { "expression": "scope", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "transactions_household_id_households_id_fk": { "name": "transactions_household_id_households_id_fk", "tableFrom": "transactions", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "transactions_user_id_user_id_fk": { "name": "transactions_user_id_user_id_fk", "tableFrom": "transactions", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "transactions_category_id_categories_id_fk": { "name": "transactions_category_id_categories_id_fk", "tableFrom": "transactions", "tableTo": "categories", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "transactions_child_id_children_id_fk": { "name": "transactions_child_id_children_id_fk", "tableFrom": "transactions", "tableTo": "children", "columnsFrom": [ "child_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.vacation_entries": { "name": "vacation_entries", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "vacation_id": { "name": "vacation_id", "type": "text", "primaryKey": false, "notNull": true }, "created_by": { "name": "created_by", "type": "text", "primaryKey": false, "notNull": true }, "category_id": { "name": "category_id", "type": "text", "primaryKey": false, "notNull": false }, "amount": { "name": "amount", "type": "numeric(12, 2)", "primaryKey": false, "notNull": true }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'EUR'" }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "date": { "name": "date", "type": "date", "primaryKey": false, "notNull": true }, "synced_at": { "name": "synced_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "vacation_entries_vacation_id_idx": { "name": "vacation_entries_vacation_id_idx", "columns": [ { "expression": "vacation_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "vacation_entries_vacation_id_vacations_id_fk": { "name": "vacation_entries_vacation_id_vacations_id_fk", "tableFrom": "vacation_entries", "tableTo": "vacations", "columnsFrom": [ "vacation_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "vacation_entries_created_by_user_id_fk": { "name": "vacation_entries_created_by_user_id_fk", "tableFrom": "vacation_entries", "tableTo": "user", "columnsFrom": [ "created_by" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "vacation_entries_category_id_categories_id_fk": { "name": "vacation_entries_category_id_categories_id_fk", "tableFrom": "vacation_entries", "tableTo": "categories", "columnsFrom": [ "category_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.vacations": { "name": "vacations", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "household_id": { "name": "household_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "budget": { "name": "budget", "type": "numeric(12, 2)", "primaryKey": false, "notNull": false }, "currency": { "name": "currency", "type": "text", "primaryKey": false, "notNull": true, "default": "'EUR'" }, "starts_on": { "name": "starts_on", "type": "date", "primaryKey": false, "notNull": false }, "ends_on": { "name": "ends_on", "type": "date", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "vacations_household_id_idx": { "name": "vacations_household_id_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "vacations_household_id_households_id_fk": { "name": "vacations_household_id_households_id_fk", "tableFrom": "vacations", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.account": { "name": "account", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "account_id": { "name": "account_id", "type": "text", "primaryKey": false, "notNull": true }, "provider_id": { "name": "provider_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": false }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": false }, "id_token": { "name": "id_token", "type": "text", "primaryKey": false, "notNull": false }, "access_token_expires_at": { "name": "access_token_expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "refresh_token_expires_at": { "name": "refresh_token_expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "scope": { "name": "scope", "type": "text", "primaryKey": false, "notNull": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "account_userId_idx": { "name": "account_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "account_user_id_user_id_fk": { "name": "account_user_id_user_id_fk", "tableFrom": "account", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.invitation": { "name": "invitation", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "default": "'pending'" }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "inviter_id": { "name": "inviter_id", "type": "text", "primaryKey": false, "notNull": true } }, "indexes": { "invitation_organizationId_idx": { "name": "invitation_organizationId_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "invitation_email_idx": { "name": "invitation_email_idx", "columns": [ { "expression": "email", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "invitation_organization_id_organization_id_fk": { "name": "invitation_organization_id_organization_id_fk", "tableFrom": "invitation", "tableTo": "organization", "columnsFrom": [ "organization_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "invitation_inviter_id_user_id_fk": { "name": "invitation_inviter_id_user_id_fk", "tableFrom": "invitation", "tableTo": "user", "columnsFrom": [ "inviter_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.member": { "name": "member", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "organization_id": { "name": "organization_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "default": "'member'" }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "member_organizationId_idx": { "name": "member_organizationId_idx", "columns": [ { "expression": "organization_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "member_userId_idx": { "name": "member_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "member_organization_id_organization_id_fk": { "name": "member_organization_id_organization_id_fk", "tableFrom": "member", "tableTo": "organization", "columnsFrom": [ "organization_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "member_user_id_user_id_fk": { "name": "member_user_id_user_id_fk", "tableFrom": "member", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.organization": { "name": "organization", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "slug": { "name": "slug", "type": "text", "primaryKey": false, "notNull": true }, "logo": { "name": "logo", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "metadata": { "name": "metadata", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": { "organization_slug_uidx": { "name": "organization_slug_uidx", "columns": [ { "expression": "slug", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "organization_slug_unique": { "name": "organization_slug_unique", "nullsNotDistinct": false, "columns": [ "slug" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.session": { "name": "session", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "active_organization_id": { "name": "active_organization_id", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": { "session_userId_idx": { "name": "session_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "session_user_id_user_id_fk": { "name": "session_user_id_user_id_fk", "tableFrom": "session", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "session_token_unique": { "name": "session_token_unique", "nullsNotDistinct": false, "columns": [ "token" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user": { "name": "user", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": true }, "email_verified": { "name": "email_verified", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_email_unique": { "name": "user_email_unique", "nullsNotDistinct": false, "columns": [ "email" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.verification": { "name": "verification", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "identifier": { "name": "identifier", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "verification_identifier_idx": { "name": "verification_identifier_idx", "columns": [ { "expression": "identifier", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.category_type": { "name": "category_type", "schema": "public", "values": [ "income", "expense" ] }, "public.subscription_plan": { "name": "subscription_plan", "schema": "public", "values": [ "free", "pro", "family" ] }, "public.subscription_status": { "name": "subscription_status", "schema": "public", "values": [ "active", "canceled", "past_due" ] }, "public.sync_operation": { "name": "sync_operation", "schema": "public", "values": [ "create", "update", "delete" ] }, "public.transaction_scope": { "name": "transaction_scope", "schema": "public", "values": [ "household", "private", "child" ] }, "public.transaction_type": { "name": "transaction_type", "schema": "public", "values": [ "income", "expense" ] } }, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }