{
  "version": "5",
  "dialect": "mysql",
  "id": "8c97841a-0388-4392-9bc4-b82b88b8fa9e",
  "prevId": "6588fab0-9795-421b-82db-2c5cacc0d6c5",
  "tables": {
    "account": {
      "name": "account",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "account_id": {
          "name": "account_id",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "provider_id": {
          "name": "provider_id",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "access_token": {
          "name": "access_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "refresh_token": {
          "name": "refresh_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "id_token": {
          "name": "id_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "access_token_expires_at": {
          "name": "access_token_expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "refresh_token_expires_at": {
          "name": "refresh_token_expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "scope": {
          "name": "scope",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "password": {
          "name": "password",
          "type": "text",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "account_provider_account_uidx": {
          "name": "account_provider_account_uidx",
          "columns": [
            "provider_id",
            "account_id"
          ],
          "isUnique": true
        },
        "account_user_idx": {
          "name": "account_user_idx",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "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": {
        "account_id": {
          "name": "account_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "athlete_profile": {
      "name": "athlete_profile",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "date_of_birth": {
          "name": "date_of_birth",
          "type": "datetime",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "gender": {
          "name": "gender",
          "type": "enum('female','male','nonbinary','undisclosed')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'undisclosed'"
        },
        "height_cm": {
          "name": "height_cm",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "weight_kg": {
          "name": "weight_kg",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "primary_goal": {
          "name": "primary_goal",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "race_calendar": {
          "name": "race_calendar",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('active','paused','cancelled')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'active'"
        },
        "joined_at": {
          "name": "joined_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "athlete_profile_user_id_user_id_fk": {
          "name": "athlete_profile_user_id_user_id_fk",
          "tableFrom": "athlete_profile",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "athlete_profile_user_id": {
          "name": "athlete_profile_user_id",
          "columns": [
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "booking": {
      "name": "booking",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "session_id": {
          "name": "session_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('confirmed','waitlisted','cancelled','no_show','attended')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'confirmed'"
        },
        "booked_at": {
          "name": "booked_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "cancelled_at": {
          "name": "cancelled_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "promoted_at": {
          "name": "promoted_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "booking_session_user_uidx": {
          "name": "booking_session_user_uidx",
          "columns": [
            "session_id",
            "user_id"
          ],
          "isUnique": true
        },
        "booking_user_booked_at_idx": {
          "name": "booking_user_booked_at_idx",
          "columns": [
            "user_id",
            "booked_at"
          ],
          "isUnique": false
        },
        "booking_session_status_idx": {
          "name": "booking_session_status_idx",
          "columns": [
            "session_id",
            "status"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "booking_session_id_class_session_id_fk": {
          "name": "booking_session_id_class_session_id_fk",
          "tableFrom": "booking",
          "tableTo": "class_session",
          "columnsFrom": [
            "session_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "booking_user_id_user_id_fk": {
          "name": "booking_user_id_user_id_fk",
          "tableFrom": "booking",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "booking_id": {
          "name": "booking_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "class_session": {
      "name": "class_session",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "template_id": {
          "name": "template_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "coach_user_id": {
          "name": "coach_user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "starts_at": {
          "name": "starts_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "ends_at": {
          "name": "ends_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "capacity": {
          "name": "capacity",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "waitlist_capacity": {
          "name": "waitlist_capacity",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 5
        },
        "status": {
          "name": "status",
          "type": "enum('scheduled','cancelled','completed')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'scheduled'"
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "class_session_starts_at_idx": {
          "name": "class_session_starts_at_idx",
          "columns": [
            "starts_at"
          ],
          "isUnique": false
        },
        "class_session_status_starts_idx": {
          "name": "class_session_status_starts_idx",
          "columns": [
            "status",
            "starts_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "class_session_template_id_class_template_id_fk": {
          "name": "class_session_template_id_class_template_id_fk",
          "tableFrom": "class_session",
          "tableTo": "class_template",
          "columnsFrom": [
            "template_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        },
        "class_session_coach_user_id_user_id_fk": {
          "name": "class_session_coach_user_id_user_id_fk",
          "tableFrom": "class_session",
          "tableTo": "user",
          "columnsFrom": [
            "coach_user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "class_session_id": {
          "name": "class_session_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "class_template": {
      "name": "class_template",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "type": {
          "name": "type",
          "type": "enum('hyrox','strength','run','open')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "default_capacity": {
          "name": "default_capacity",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 12
        },
        "default_duration_min": {
          "name": "default_duration_min",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 60
        },
        "archived": {
          "name": "archived",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "class_template_id": {
          "name": "class_template_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "plan_assignment": {
      "name": "plan_assignment",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "plan_id": {
          "name": "plan_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "starts_on": {
          "name": "starts_on",
          "type": "datetime",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "ends_on": {
          "name": "ends_on",
          "type": "datetime",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "assigned_by": {
          "name": "assigned_by",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('active','completed','paused')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'active'"
        },
        "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "plan_assignment_user_status_idx": {
          "name": "plan_assignment_user_status_idx",
          "columns": [
            "user_id",
            "status"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "plan_assignment_user_id_user_id_fk": {
          "name": "plan_assignment_user_id_user_id_fk",
          "tableFrom": "plan_assignment",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "plan_assignment_plan_id_training_plan_id_fk": {
          "name": "plan_assignment_plan_id_training_plan_id_fk",
          "tableFrom": "plan_assignment",
          "tableTo": "training_plan",
          "columnsFrom": [
            "plan_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        },
        "plan_assignment_assigned_by_user_id_fk": {
          "name": "plan_assignment_assigned_by_user_id_fk",
          "tableFrom": "plan_assignment",
          "tableTo": "user",
          "columnsFrom": [
            "assigned_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "plan_assignment_id": {
          "name": "plan_assignment_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "session": {
      "name": "session",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "token": {
          "name": "token",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "ip_address": {
          "name": "ip_address",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "varchar(512)",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "session_token_uidx": {
          "name": "session_token_uidx",
          "columns": [
            "token"
          ],
          "isUnique": true
        },
        "session_user_idx": {
          "name": "session_user_idx",
          "columns": [
            "user_id"
          ],
          "isUnique": false
        }
      },
      "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": {
        "session_id": {
          "name": "session_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "training_plan": {
      "name": "training_plan",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "duration_weeks": {
          "name": "duration_weeks",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_by": {
          "name": "created_by",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "archived": {
          "name": "archived",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "training_plan_created_by_user_id_fk": {
          "name": "training_plan_created_by_user_id_fk",
          "tableFrom": "training_plan",
          "tableTo": "user",
          "columnsFrom": [
            "created_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "training_plan_id": {
          "name": "training_plan_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "training_plan_block": {
      "name": "training_plan_block",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "plan_id": {
          "name": "plan_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "week_index": {
          "name": "week_index",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "focus": {
          "name": "focus",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "training_plan_block_plan_week_uidx": {
          "name": "training_plan_block_plan_week_uidx",
          "columns": [
            "plan_id",
            "week_index"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {
        "training_plan_block_plan_id_training_plan_id_fk": {
          "name": "training_plan_block_plan_id_training_plan_id_fk",
          "tableFrom": "training_plan_block",
          "tableTo": "training_plan",
          "columnsFrom": [
            "plan_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "training_plan_block_id": {
          "name": "training_plan_block_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "training_plan_session": {
      "name": "training_plan_session",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "block_id": {
          "name": "block_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "day_index": {
          "name": "day_index",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "order_index": {
          "name": "order_index",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "type": {
          "name": "type",
          "type": "enum('hyrox','strength','run','recovery','rest','race_sim')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(200)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "target_duration_min": {
          "name": "target_duration_min",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "target_distance_m": {
          "name": "target_distance_m",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "recommended_class_template_id": {
          "name": "recommended_class_template_id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {
        "training_plan_session_block_day_order_idx": {
          "name": "training_plan_session_block_day_order_idx",
          "columns": [
            "block_id",
            "day_index",
            "order_index"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "training_plan_session_block_id_training_plan_block_id_fk": {
          "name": "training_plan_session_block_id_training_plan_block_id_fk",
          "tableFrom": "training_plan_session",
          "tableTo": "training_plan_block",
          "columnsFrom": [
            "block_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "tps_rec_class_template_fk": {
          "name": "tps_rec_class_template_fk",
          "tableFrom": "training_plan_session",
          "tableTo": "class_template",
          "columnsFrom": [
            "recommended_class_template_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "training_plan_session_id": {
          "name": "training_plan_session_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "user": {
      "name": "user",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(254)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "email_verified": {
          "name": "email_verified",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "image_url": {
          "name": "image_url",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "role": {
          "name": "role",
          "type": "enum('athlete','coach','admin')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'athlete'"
        },
        "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "user_email_uidx": {
          "name": "user_email_uidx",
          "columns": [
            "email"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "user_id": {
          "name": "user_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "verification": {
      "name": "verification",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar(36)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "identifier": {
          "name": "identifier",
          "type": "varchar(254)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "value": {
          "name": "value",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      "indexes": {
        "verification_identifier_idx": {
          "name": "verification_identifier_idx",
          "columns": [
            "identifier"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "verification_id": {
          "name": "verification_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    }
  },
  "views": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "tables": {},
    "indexes": {}
  }
}