{ "id": "0191c7dd-700b-4c05-9cdb-fa883d6ed838", "prevId": "a7c89adf-0d22-49a9-81cb-bbf3d4472251", "version": "7", "dialect": "postgresql", "tables": { "public.accounts": { "name": "accounts", "schema": "", "columns": { "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "provider": { "name": "provider", "type": "text", "primaryKey": false, "notNull": true }, "provider_account_id": { "name": "provider_account_id", "type": "text", "primaryKey": false, "notNull": true }, "refresh_token": { "name": "refresh_token", "type": "text", "primaryKey": false, "notNull": false }, "access_token": { "name": "access_token", "type": "text", "primaryKey": false, "notNull": false }, "expires_at": { "name": "expires_at", "type": "integer", "primaryKey": false, "notNull": false }, "token_type": { "name": "token_type", "type": "text", "primaryKey": false, "notNull": false }, "scope": { "name": "scope", "type": "text", "primaryKey": false, "notNull": false }, "id_token": { "name": "id_token", "type": "text", "primaryKey": false, "notNull": false }, "session_state": { "name": "session_state", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "accounts_user_id_users_id_fk": { "name": "accounts_user_id_users_id_fk", "tableFrom": "accounts", "columnsFrom": [ "user_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": { "accounts_provider_provider_account_id_pk": { "name": "accounts_provider_provider_account_id_pk", "columns": [ "provider", "provider_account_id" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.activity_log": { "name": "activity_log", "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 }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "uuid", "primaryKey": false, "notNull": true }, "actor_id": { "name": "actor_id", "type": "uuid", "primaryKey": false, "notNull": true }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "payload": { "name": "payload", "type": "jsonb", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "activity_log_household_created_idx": { "name": "activity_log_household_created_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "activity_log_household_id_households_id_fk": { "name": "activity_log_household_id_households_id_fk", "tableFrom": "activity_log", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "activity_log_actor_id_users_id_fk": { "name": "activity_log_actor_id_users_id_fk", "tableFrom": "activity_log", "columnsFrom": [ "actor_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.household_members": { "name": "household_members", "schema": "", "columns": { "household_id": { "name": "household_id", "type": "uuid", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "role": { "name": "role", "type": "household_member_role", "typeSchema": "public", "primaryKey": false, "notNull": true, "default": "'member'" } }, "indexes": {}, "foreignKeys": { "household_members_household_id_households_id_fk": { "name": "household_members_household_id_households_id_fk", "tableFrom": "household_members", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "household_members_user_id_users_id_fk": { "name": "household_members_user_id_users_id_fk", "tableFrom": "household_members", "columnsFrom": [ "user_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": { "household_members_household_id_user_id_pk": { "name": "household_members_household_id_user_id_pk", "columns": [ "household_id", "user_id" ] } }, "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": "varchar(255)", "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.reminders": { "name": "reminders", "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 }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "uuid", "primaryKey": false, "notNull": true }, "fire_at": { "name": "fire_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "channel": { "name": "channel", "type": "text", "primaryKey": false, "notNull": true, "default": "'in_app'" }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "reminders_entity_unique": { "name": "reminders_entity_unique", "columns": [ { "expression": "entity_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "entity_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "with": {}, "method": "btree", "concurrently": false }, "reminders_household_fire_at_idx": { "name": "reminders_household_fire_at_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "fire_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "reminders_household_id_households_id_fk": { "name": "reminders_household_id_households_id_fk", "tableFrom": "reminders", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sessions": { "name": "sessions", "schema": "", "columns": { "session_token": { "name": "session_token", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "uuid", "primaryKey": false, "notNull": true }, "expires": { "name": "expires", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "sessions_user_id_users_id_fk": { "name": "sessions_user_id_users_id_fk", "tableFrom": "sessions", "columnsFrom": [ "user_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false }, "email": { "name": "email", "type": "varchar(255)", "primaryKey": false, "notNull": true }, "email_verified": { "name": "email_verified", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "theme": { "name": "theme", "type": "text", "primaryKey": false, "notNull": true, "default": "'default'" }, "theme_mode": { "name": "theme_mode", "type": "text", "primaryKey": false, "notNull": true, "default": "'system'" }, "default_dashboard_layout": { "name": "default_dashboard_layout", "type": "jsonb", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "users_email_unique": { "name": "users_email_unique", "columns": [ "email" ], "nullsNotDistinct": false } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.verification_tokens": { "name": "verification_tokens", "schema": "", "columns": { "identifier": { "name": "identifier", "type": "text", "primaryKey": false, "notNull": true }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "expires": { "name": "expires", "type": "timestamp with time zone", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "verification_tokens_identifier_token_pk": { "name": "verification_tokens_identifier_token_pk", "columns": [ "identifier", "token" ] } }, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.calendar_events": { "name": "calendar_events", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "calendar_id": { "name": "calendar_id", "type": "uuid", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "start_at": { "name": "start_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "end_at": { "name": "end_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true }, "all_day": { "name": "all_day", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "location": { "name": "location", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "owner_id": { "name": "owner_id", "type": "uuid", "primaryKey": false, "notNull": true }, "rrule": { "name": "rrule", "type": "text", "primaryKey": false, "notNull": false }, "external_source": { "name": "external_source", "type": "text", "primaryKey": false, "notNull": false }, "external_id": { "name": "external_id", "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": { "calendar_events_calendar_start_idx": { "name": "calendar_events_calendar_start_idx", "columns": [ { "expression": "calendar_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "start_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "calendar_events_calendar_id_calendars_id_fk": { "name": "calendar_events_calendar_id_calendars_id_fk", "tableFrom": "calendar_events", "columnsFrom": [ "calendar_id" ], "tableTo": "calendars", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "calendar_events_owner_id_users_id_fk": { "name": "calendar_events_owner_id_users_id_fk", "tableFrom": "calendar_events", "columnsFrom": [ "owner_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": { "calendar_events_range_check": { "name": "calendar_events_range_check", "value": "\"calendar_events\".\"end_at\" >= \"calendar_events\".\"start_at\"" } }, "isRLSEnabled": false }, "public.calendars": { "name": "calendars", "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 }, "owner_id": { "name": "owner_id", "type": "uuid", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "color": { "name": "color", "type": "text", "primaryKey": false, "notNull": false }, "visibility": { "name": "visibility", "type": "text", "primaryKey": false, "notNull": true, "default": "'household'" }, "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": { "calendars_household_idx": { "name": "calendars_household_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false }, "calendars_owner_idx": { "name": "calendars_owner_idx", "columns": [ { "expression": "owner_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "calendars_household_id_households_id_fk": { "name": "calendars_household_id_households_id_fk", "tableFrom": "calendars", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "calendars_owner_id_users_id_fk": { "name": "calendars_owner_id_users_id_fk", "tableFrom": "calendars", "columnsFrom": [ "owner_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": { "calendars_visibility_check": { "name": "calendars_visibility_check", "value": "\"calendars\".\"visibility\" in ('private', 'household')" } }, "isRLSEnabled": false }, "public.list_items": { "name": "list_items", "schema": "", "columns": { "id": { "name": "id", "type": "uuid", "primaryKey": true, "notNull": true, "default": "gen_random_uuid()" }, "list_id": { "name": "list_id", "type": "uuid", "primaryKey": false, "notNull": true }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": true }, "done": { "name": "done", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "qty": { "name": "qty", "type": "text", "primaryKey": false, "notNull": false }, "notes": { "name": "notes", "type": "text", "primaryKey": false, "notNull": false }, "due_at": { "name": "due_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": false }, "assignee_id": { "name": "assignee_id", "type": "uuid", "primaryKey": false, "notNull": false }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "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": { "list_items_list_position_idx": { "name": "list_items_list_position_idx", "columns": [ { "expression": "list_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "position", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false }, "list_items_assignee_idx": { "name": "list_items_assignee_idx", "columns": [ { "expression": "assignee_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "list_items_list_id_lists_id_fk": { "name": "list_items_list_id_lists_id_fk", "tableFrom": "list_items", "columnsFrom": [ "list_id" ], "tableTo": "lists", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "list_items_assignee_id_users_id_fk": { "name": "list_items_assignee_id_users_id_fk", "tableFrom": "list_items", "columnsFrom": [ "assignee_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.lists": { "name": "lists", "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 }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "archived": { "name": "archived", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "lists_household_type_idx": { "name": "lists_household_type_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "type", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false }, "lists_household_archived_idx": { "name": "lists_household_archived_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "archived", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "lists_household_id_households_id_fk": { "name": "lists_household_id_households_id_fk", "tableFrom": "lists", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.notes": { "name": "notes", "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 }, "author_id": { "name": "author_id", "type": "uuid", "primaryKey": false, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "body": { "name": "body", "type": "text", "primaryKey": false, "notNull": true, "default": "''" }, "pinned": { "name": "pinned", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "remind_at": { "name": "remind_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()" }, "updated_at": { "name": "updated_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "notes_household_pinned_updated_idx": { "name": "notes_household_pinned_updated_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "pinned", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "updated_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false }, "notes_author_idx": { "name": "notes_author_idx", "columns": [ { "expression": "author_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "with": {}, "method": "btree", "concurrently": false } }, "foreignKeys": { "notes_household_id_households_id_fk": { "name": "notes_household_id_households_id_fk", "tableFrom": "notes", "columnsFrom": [ "household_id" ], "tableTo": "households", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "notes_author_id_users_id_fk": { "name": "notes_author_id_users_id_fk", "tableFrom": "notes", "columnsFrom": [ "author_id" ], "tableTo": "users", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.bang_events": { "name": "bang_events", "schema": "public", "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 }, "recorded_by": { "name": "recorded_by", "type": "uuid", "primaryKey": false, "notNull": false }, "occurred_on": { "name": "occurred_on", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp with time zone", "primaryKey": false, "notNull": true, "default": "now()" } }, "indexes": { "bang_events_household_occurred_idx": { "name": "bang_events_household_occurred_idx", "columns": [ { "expression": "household_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "occurred_on", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "method": "btree", "concurrently": false } }, "foreignKeys": { "bang_events_household_id_households_id_fk": { "name": "bang_events_household_id_households_id_fk", "tableFrom": "bang_events", "columnsFrom": [ "household_id" ], "tableTo": "households", "schemaTo": "public", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "cascade" }, "bang_events_recorded_by_users_id_fk": { "name": "bang_events_recorded_by_users_id_fk", "tableFrom": "bang_events", "columnsFrom": [ "recorded_by" ], "tableTo": "users", "schemaTo": "public", "columnsTo": [ "id" ], "onUpdate": "no action", "onDelete": "set null" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.household_member_role": { "name": "household_member_role", "schema": "public", "values": [ "owner", "member" ] } }, "schemas": {}, "views": {}, "sequences": {}, "roles": {}, "policies": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }