{ "id": "cb06cd57-d5a0-4fb7-bbf3-335173a1168c", "prevId": "5ca276cc-01ef-429a-aa67-822ef6ed7cbd", "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", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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.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", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "household_members_user_id_users_id_fk": { "name": "household_members_user_id_users_id_fk", "tableFrom": "household_members", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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, "concurrently": false, "method": "btree", "with": {} }, "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, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "reminders_household_id_households_id_fk": { "name": "reminders_household_id_households_id_fk", "tableFrom": "reminders", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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'" }, "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", "nullsNotDistinct": false, "columns": [ "email" ] } }, "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, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "calendar_events_calendar_id_calendars_id_fk": { "name": "calendar_events_calendar_id_calendars_id_fk", "tableFrom": "calendar_events", "tableTo": "calendars", "columnsFrom": [ "calendar_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "calendar_events_owner_id_users_id_fk": { "name": "calendar_events_owner_id_users_id_fk", "tableFrom": "calendar_events", "tableTo": "users", "columnsFrom": [ "owner_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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, "concurrently": false, "method": "btree", "with": {} }, "calendars_owner_idx": { "name": "calendars_owner_idx", "columns": [ { "expression": "owner_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "calendars_household_id_households_id_fk": { "name": "calendars_household_id_households_id_fk", "tableFrom": "calendars", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "calendars_owner_id_users_id_fk": { "name": "calendars_owner_id_users_id_fk", "tableFrom": "calendars", "tableTo": "users", "columnsFrom": [ "owner_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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, "concurrently": false, "method": "btree", "with": {} }, "list_items_assignee_idx": { "name": "list_items_assignee_idx", "columns": [ { "expression": "assignee_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "list_items_list_id_lists_id_fk": { "name": "list_items_list_id_lists_id_fk", "tableFrom": "list_items", "tableTo": "lists", "columnsFrom": [ "list_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "list_items_assignee_id_users_id_fk": { "name": "list_items_assignee_id_users_id_fk", "tableFrom": "list_items", "tableTo": "users", "columnsFrom": [ "assignee_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "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, "concurrently": false, "method": "btree", "with": {} }, "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, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "lists_household_id_households_id_fk": { "name": "lists_household_id_households_id_fk", "tableFrom": "lists", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "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, "concurrently": false, "method": "btree", "with": {} }, "notes_author_idx": { "name": "notes_author_idx", "columns": [ { "expression": "author_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "notes_household_id_households_id_fk": { "name": "notes_household_id_households_id_fk", "tableFrom": "notes", "tableTo": "households", "columnsFrom": [ "household_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "notes_author_id_users_id_fk": { "name": "notes_author_id_users_id_fk", "tableFrom": "notes", "tableTo": "users", "columnsFrom": [ "author_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": { "public.household_member_role": { "name": "household_member_role", "schema": "public", "values": [ "owner", "member" ] } }, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }