{
  "version": "5",
  "dialect": "mysql",
  "id": "e4665da0-ef95-4994-af4a-0d6a0169c874",
  "prevId": "00000000-0000-0000-0000-000000000000",
  "tables": {
    "calendar_events": {
      "name": "calendar_events",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "calendar_id": {
          "name": "calendar_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "uid": {
          "name": "uid",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "etag": {
          "name": "etag",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "object_url": {
          "name": "object_url",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "raw_vevent": {
          "name": "raw_vevent",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "dtstart_utc": {
          "name": "dtstart_utc",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "dtstart_date": {
          "name": "dtstart_date",
          "type": "date",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "all_day": {
          "name": "all_day",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "has_rrule": {
          "name": "has_rrule",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_calendar_events_dtstart_utc": {
          "name": "idx_calendar_events_dtstart_utc",
          "columns": [
            "dtstart_utc"
          ],
          "isUnique": false
        },
        "idx_calendar_events_dtstart_date": {
          "name": "idx_calendar_events_dtstart_date",
          "columns": [
            "dtstart_date"
          ],
          "isUnique": false
        },
        "idx_calendar_events_has_rrule": {
          "name": "idx_calendar_events_has_rrule",
          "columns": [
            "has_rrule"
          ],
          "isUnique": false
        }
      },
      "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"
        }
      },
      "compositePrimaryKeys": {
        "calendar_events_id": {
          "name": "calendar_events_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "uniq_calendar_uid": {
          "name": "uniq_calendar_uid",
          "columns": [
            "calendar_id",
            "uid"
          ]
        }
      },
      "checkConstraint": {}
    },
    "calendar_outbox": {
      "name": "calendar_outbox",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "operation": {
          "name": "operation",
          "type": "enum('create','update','delete')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('pending','done','failed','dead')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'pending'"
        },
        "uid": {
          "name": "uid",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "calendar_url": {
          "name": "calendar_url",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "calendar_object_url": {
          "name": "calendar_object_url",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "etag": {
          "name": "etag",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "payload": {
          "name": "payload",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "attempt_count": {
          "name": "attempt_count",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "next_attempt_at": {
          "name": "next_attempt_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "last_error": {
          "name": "last_error",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "group_id": {
          "name": "group_id",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_outbox_user_status": {
          "name": "idx_outbox_user_status",
          "columns": [
            "user_id",
            "status"
          ],
          "isUnique": false
        },
        "idx_outbox_next_attempt": {
          "name": "idx_outbox_next_attempt",
          "columns": [
            "next_attempt_at",
            "status"
          ],
          "isUnique": false
        },
        "idx_outbox_uid": {
          "name": "idx_outbox_uid",
          "columns": [
            "uid"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "calendar_outbox_user_id_users_id_fk": {
          "name": "calendar_outbox_user_id_users_id_fk",
          "tableFrom": "calendar_outbox",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "calendar_outbox_id": {
          "name": "calendar_outbox_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "calendars": {
      "name": "calendars",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "url": {
          "name": "url",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "display_name": {
          "name": "display_name",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "color": {
          "name": "color",
          "type": "varchar(7)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "ctag": {
          "name": "ctag",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "sync_token": {
          "name": "sync_token",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_synced_at": {
          "name": "last_synced_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_shared": {
          "name": "is_shared",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        }
      },
      "indexes": {
        "idx_calendars_user_id": {
          "name": "idx_calendars_user_id",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "calendars_user_id_users_id_fk": {
          "name": "calendars_user_id_users_id_fk",
          "tableFrom": "calendars",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "calendars_id": {
          "name": "calendars_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "uniq_calendar_user_url": {
          "name": "uniq_calendar_user_url",
          "columns": [
            "user_id",
            "url"
          ]
        }
      },
      "checkConstraint": {}
    },
    "list_items": {
      "name": "list_items",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "list_id": {
          "name": "list_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "text": {
          "name": "text",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "checked": {
          "name": "checked",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "rank": {
          "name": "rank",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_list_items_list_id_rank": {
          "name": "idx_list_items_list_id_rank",
          "columns": [
            "list_id",
            "rank"
          ],
          "isUnique": false
        },
        "idx_list_items_list_id_checked": {
          "name": "idx_list_items_list_id_checked",
          "columns": [
            "list_id",
            "checked"
          ],
          "isUnique": false
        }
      },
      "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"
        }
      },
      "compositePrimaryKeys": {
        "list_items_id": {
          "name": "list_items_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "list_shares": {
      "name": "list_shares",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "list_id": {
          "name": "list_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_list_shares_user_id": {
          "name": "idx_list_shares_user_id",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "list_shares_list_id_lists_id_fk": {
          "name": "list_shares_list_id_lists_id_fk",
          "tableFrom": "list_shares",
          "tableTo": "lists",
          "columnsFrom": [
            "list_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "list_shares_user_id_users_id_fk": {
          "name": "list_shares_user_id_users_id_fk",
          "tableFrom": "list_shares",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "list_shares_id": {
          "name": "list_shares_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "uniq_list_share": {
          "name": "uniq_list_share",
          "columns": [
            "list_id",
            "user_id"
          ]
        }
      },
      "checkConstraint": {}
    },
    "lists": {
      "name": "lists",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "owner_id": {
          "name": "owner_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "is_shared": {
          "name": "is_shared",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_lists_owner_id": {
          "name": "idx_lists_owner_id",
          "columns": [
            "owner_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "lists_owner_id_users_id_fk": {
          "name": "lists_owner_id_users_id_fk",
          "tableFrom": "lists",
          "tableTo": "users",
          "columnsFrom": [
            "owner_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "lists_id": {
          "name": "lists_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "member_credentials": {
      "name": "member_credentials",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "user_id": {
          "name": "user_id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "encrypted_password": {
          "name": "encrypted_password",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "fastmail_email": {
          "name": "fastmail_email",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "idx_member_credentials_user_id": {
          "name": "idx_member_credentials_user_id",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "member_credentials_user_id_users_id_fk": {
          "name": "member_credentials_user_id_users_id_fk",
          "tableFrom": "member_credentials",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "member_credentials_id": {
          "name": "member_credentials_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "users": {
      "name": "users",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "oidc_iss": {
          "name": "oidc_iss",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "oidc_sub": {
          "name": "oidc_sub",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "display_name": {
          "name": "display_name",
          "type": "varchar(256)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "color": {
          "name": "color",
          "type": "varchar(7)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "users_id": {
          "name": "users_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "uniq_oidc_identity": {
          "name": "uniq_oidc_identity",
          "columns": [
            "oidc_iss",
            "oidc_sub"
          ]
        }
      },
      "checkConstraint": {}
    }
  },
  "views": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "tables": {},
    "indexes": {}
  }
}