{
  "version": "5",
  "dialect": "mysql",
  "id": "ecbc0611-15fa-4461-b8b7-cd9ebd84afc7",
  "prevId": "4180a4c6-f293-475f-940c-8c55bd89ac58",
  "tables": {
    "age_groups": {
      "name": "age_groups",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "min_age": {
          "name": "min_age",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "max_age": {
          "name": "max_age",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "age_groups_slug_unique": {
          "name": "age_groups_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "age_groups_id": {
          "name": "age_groups_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "auth_otps": {
      "name": "auth_otps",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "actor_type": {
          "name": "actor_type",
          "type": "enum('customer','staff')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "code_hash": {
          "name": "code_hash",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "purpose": {
          "name": "purpose",
          "type": "enum('signup','login','password_reset')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'login'"
        },
        "attempts": {
          "name": "attempts",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "consumed_at": {
          "name": "consumed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {
        "auth_otps_email_idx": {
          "name": "auth_otps_email_idx",
          "columns": [
            "email"
          ],
          "isUnique": false
        },
        "auth_otps_lookup_idx": {
          "name": "auth_otps_lookup_idx",
          "columns": [
            "actor_type",
            "email",
            "purpose"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "auth_otps_id": {
          "name": "auth_otps_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "auth_sessions": {
      "name": "auth_sessions",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "actor_type": {
          "name": "actor_type",
          "type": "enum('customer','staff')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "actor_id": {
          "name": "actor_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "refresh_token_hash": {
          "name": "refresh_token_hash",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "ip_address": {
          "name": "ip_address",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "revoked_at": {
          "name": "revoked_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_used_at": {
          "name": "last_used_at",
          "type": "timestamp",
          "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": "(now())"
        }
      },
      "indexes": {
        "auth_sessions_refresh_token_hash_unique": {
          "name": "auth_sessions_refresh_token_hash_unique",
          "columns": [
            "refresh_token_hash"
          ],
          "isUnique": true
        },
        "auth_sessions_actor_idx": {
          "name": "auth_sessions_actor_idx",
          "columns": [
            "actor_type",
            "actor_id"
          ],
          "isUnique": false
        },
        "auth_sessions_expires_idx": {
          "name": "auth_sessions_expires_idx",
          "columns": [
            "expires_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "auth_sessions_id": {
          "name": "auth_sessions_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "brands": {
      "name": "brands",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "brands_slug_unique": {
          "name": "brands_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "brands_id": {
          "name": "brands_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "collections": {
      "name": "collections",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "collections_slug_unique": {
          "name": "collections_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "collections_id": {
          "name": "collections_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "customers": {
      "name": "customers",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "email": {
          "name": "email",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "phone_number": {
          "name": "phone_number",
          "type": "varchar(30)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "email_verified_at": {
          "name": "email_verified_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_login_at": {
          "name": "last_login_at",
          "type": "timestamp",
          "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": "(now())"
        }
      },
      "indexes": {
        "customers_email_unique": {
          "name": "customers_email_unique",
          "columns": [
            "email"
          ],
          "isUnique": true
        },
        "customers_phone_number_unique": {
          "name": "customers_phone_number_unique",
          "columns": [
            "phone_number"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "customers_id": {
          "name": "customers_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "face_shapes": {
      "name": "face_shapes",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "face_shapes_slug_unique": {
          "name": "face_shapes_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "face_shapes_id": {
          "name": "face_shapes_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "frame_colors": {
      "name": "frame_colors",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "hex_code": {
          "name": "hex_code",
          "type": "varchar(7)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "frame_colors_slug_unique": {
          "name": "frame_colors_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "frame_colors_id": {
          "name": "frame_colors_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "frame_shapes": {
      "name": "frame_shapes",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "frame_shapes_slug_unique": {
          "name": "frame_shapes_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "frame_shapes_id": {
          "name": "frame_shapes_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "genders": {
      "name": "genders",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "genders_slug_unique": {
          "name": "genders_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "genders_id": {
          "name": "genders_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "lens_features": {
      "name": "lens_features",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "lens_features_slug_unique": {
          "name": "lens_features_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "lens_features_id": {
          "name": "lens_features_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "media_assets": {
      "name": "media_assets",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "owner_type": {
          "name": "owner_type",
          "type": "enum('product','brand','product_type','collection','frame_shape','review','staff','customer')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "owner_id": {
          "name": "owner_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "url": {
          "name": "url",
          "type": "varchar(512)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "storage_key": {
          "name": "storage_key",
          "type": "varchar(1024)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "file_name": {
          "name": "file_name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "mime_type": {
          "name": "mime_type",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "size_bytes": {
          "name": "size_bytes",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "alt_text": {
          "name": "alt_text",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_primary": {
          "name": "is_primary",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "uploaded_by_staff_id": {
          "name": "uploaded_by_staff_id",
          "type": "int unsigned",
          "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": "(now())"
        }
      },
      "indexes": {
        "media_assets_owner_url_unique": {
          "name": "media_assets_owner_url_unique",
          "columns": [
            "owner_type",
            "owner_id",
            "url"
          ],
          "isUnique": true
        },
        "media_assets_owner_idx": {
          "name": "media_assets_owner_idx",
          "columns": [
            "owner_type",
            "owner_id"
          ],
          "isUnique": false
        },
        "media_assets_uploaded_by_staff_idx": {
          "name": "media_assets_uploaded_by_staff_idx",
          "columns": [
            "uploaded_by_staff_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "media_assets_uploaded_by_staff_id_staff_users_id_fk": {
          "name": "media_assets_uploaded_by_staff_id_staff_users_id_fk",
          "tableFrom": "media_assets",
          "tableTo": "staff_users",
          "columnsFrom": [
            "uploaded_by_staff_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "media_assets_id": {
          "name": "media_assets_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "occasions": {
      "name": "occasions",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "occasions_slug_unique": {
          "name": "occasions_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "occasions_id": {
          "name": "occasions_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "order_items": {
      "name": "order_items",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "order_id": {
          "name": "order_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "product_name": {
          "name": "product_name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "sku": {
          "name": "sku",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "quantity": {
          "name": "quantity",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "unit_price": {
          "name": "unit_price",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "discount_amount": {
          "name": "discount_amount",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "line_total": {
          "name": "line_total",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {
        "order_items_order_sku_unique": {
          "name": "order_items_order_sku_unique",
          "columns": [
            "order_id",
            "sku"
          ],
          "isUnique": true
        },
        "order_items_order_idx": {
          "name": "order_items_order_idx",
          "columns": [
            "order_id"
          ],
          "isUnique": false
        },
        "order_items_product_idx": {
          "name": "order_items_product_idx",
          "columns": [
            "product_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "order_items_order_id_orders_id_fk": {
          "name": "order_items_order_id_orders_id_fk",
          "tableFrom": "order_items",
          "tableTo": "orders",
          "columnsFrom": [
            "order_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "order_items_product_id_products_id_fk": {
          "name": "order_items_product_id_products_id_fk",
          "tableFrom": "order_items",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "order_items_id": {
          "name": "order_items_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "orders": {
      "name": "orders",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "order_number": {
          "name": "order_number",
          "type": "varchar(40)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "customer_id": {
          "name": "customer_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "managed_by_staff_id": {
          "name": "managed_by_staff_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('pending','confirmed','processing','ready_for_pickup','out_for_delivery','completed','cancelled','refunded')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'pending'"
        },
        "fulfillment_method": {
          "name": "fulfillment_method",
          "type": "enum('pickup','delivery')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "contact_phone": {
          "name": "contact_phone",
          "type": "varchar(30)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "delivery_address": {
          "name": "delivery_address",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "subtotal": {
          "name": "subtotal",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "total_discount": {
          "name": "total_discount",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "total_amount": {
          "name": "total_amount",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "payment_method": {
          "name": "payment_method",
          "type": "enum('cash_on_delivery','online','bank_transfer')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'cash_on_delivery'"
        },
        "payment_status": {
          "name": "payment_status",
          "type": "enum('pending','paid','failed','refunded')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'pending'"
        },
        "customer_notes": {
          "name": "customer_notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "staff_notes": {
          "name": "staff_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": "(now())"
        }
      },
      "indexes": {
        "orders_order_number_unique": {
          "name": "orders_order_number_unique",
          "columns": [
            "order_number"
          ],
          "isUnique": true
        },
        "orders_customer_idx": {
          "name": "orders_customer_idx",
          "columns": [
            "customer_id"
          ],
          "isUnique": false
        },
        "orders_status_idx": {
          "name": "orders_status_idx",
          "columns": [
            "status"
          ],
          "isUnique": false
        },
        "orders_managed_by_staff_idx": {
          "name": "orders_managed_by_staff_idx",
          "columns": [
            "managed_by_staff_id"
          ],
          "isUnique": false
        },
        "orders_created_idx": {
          "name": "orders_created_idx",
          "columns": [
            "created_at"
          ],
          "isUnique": false
        },
        "orders_status_created_idx": {
          "name": "orders_status_created_idx",
          "columns": [
            "status",
            "created_at"
          ],
          "isUnique": false
        },
        "orders_payment_status_created_idx": {
          "name": "orders_payment_status_created_idx",
          "columns": [
            "payment_status",
            "created_at"
          ],
          "isUnique": false
        },
        "orders_fulfillment_created_idx": {
          "name": "orders_fulfillment_created_idx",
          "columns": [
            "fulfillment_method",
            "created_at"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "orders_customer_id_customers_id_fk": {
          "name": "orders_customer_id_customers_id_fk",
          "tableFrom": "orders",
          "tableTo": "customers",
          "columnsFrom": [
            "customer_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "orders_managed_by_staff_id_staff_users_id_fk": {
          "name": "orders_managed_by_staff_id_staff_users_id_fk",
          "tableFrom": "orders",
          "tableTo": "staff_users",
          "columnsFrom": [
            "managed_by_staff_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "orders_id": {
          "name": "orders_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "price_ranges": {
      "name": "price_ranges",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "min_price": {
          "name": "min_price",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "max_price": {
          "name": "max_price",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "price_ranges_slug_unique": {
          "name": "price_ranges_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "price_ranges_id": {
          "name": "price_ranges_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_face_shapes": {
      "name": "product_face_shapes",
      "columns": {
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "face_shape_id": {
          "name": "face_shape_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "product_face_shapes_product_id_products_id_fk": {
          "name": "product_face_shapes_product_id_products_id_fk",
          "tableFrom": "product_face_shapes",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "product_face_shapes_face_shape_id_face_shapes_id_fk": {
          "name": "product_face_shapes_face_shape_id_face_shapes_id_fk",
          "tableFrom": "product_face_shapes",
          "tableTo": "face_shapes",
          "columnsFrom": [
            "face_shape_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "product_face_shapes_product_id_face_shape_id_pk": {
          "name": "product_face_shapes_product_id_face_shape_id_pk",
          "columns": [
            "product_id",
            "face_shape_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_genders": {
      "name": "product_genders",
      "columns": {
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "gender_id": {
          "name": "gender_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "product_genders_product_id_products_id_fk": {
          "name": "product_genders_product_id_products_id_fk",
          "tableFrom": "product_genders",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "product_genders_gender_id_genders_id_fk": {
          "name": "product_genders_gender_id_genders_id_fk",
          "tableFrom": "product_genders",
          "tableTo": "genders",
          "columnsFrom": [
            "gender_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "product_genders_product_id_gender_id_pk": {
          "name": "product_genders_product_id_gender_id_pk",
          "columns": [
            "product_id",
            "gender_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_lens_features": {
      "name": "product_lens_features",
      "columns": {
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "lens_feature_id": {
          "name": "lens_feature_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "product_lens_features_product_id_products_id_fk": {
          "name": "product_lens_features_product_id_products_id_fk",
          "tableFrom": "product_lens_features",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "product_lens_features_lens_feature_id_lens_features_id_fk": {
          "name": "product_lens_features_lens_feature_id_lens_features_id_fk",
          "tableFrom": "product_lens_features",
          "tableTo": "lens_features",
          "columnsFrom": [
            "lens_feature_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "product_lens_features_product_id_lens_feature_id_pk": {
          "name": "product_lens_features_product_id_lens_feature_id_pk",
          "columns": [
            "product_id",
            "lens_feature_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_occasions": {
      "name": "product_occasions",
      "columns": {
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "occasion_id": {
          "name": "occasion_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "product_occasions_product_id_products_id_fk": {
          "name": "product_occasions_product_id_products_id_fk",
          "tableFrom": "product_occasions",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "product_occasions_occasion_id_occasions_id_fk": {
          "name": "product_occasions_occasion_id_occasions_id_fk",
          "tableFrom": "product_occasions",
          "tableTo": "occasions",
          "columnsFrom": [
            "occasion_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "product_occasions_product_id_occasion_id_pk": {
          "name": "product_occasions_product_id_occasion_id_pk",
          "columns": [
            "product_id",
            "occasion_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_reviews": {
      "name": "product_reviews",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "product_id": {
          "name": "product_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "customer_id": {
          "name": "customer_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "rating": {
          "name": "rating",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "title": {
          "name": "title",
          "type": "varchar(160)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "comment": {
          "name": "comment",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_approved": {
          "name": "is_approved",
          "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": "(now())"
        }
      },
      "indexes": {
        "product_reviews_customer_product_unique": {
          "name": "product_reviews_customer_product_unique",
          "columns": [
            "product_id",
            "customer_id"
          ],
          "isUnique": true
        },
        "product_reviews_product_idx": {
          "name": "product_reviews_product_idx",
          "columns": [
            "product_id"
          ],
          "isUnique": false
        },
        "product_reviews_customer_idx": {
          "name": "product_reviews_customer_idx",
          "columns": [
            "customer_id"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "product_reviews_product_id_products_id_fk": {
          "name": "product_reviews_product_id_products_id_fk",
          "tableFrom": "product_reviews",
          "tableTo": "products",
          "columnsFrom": [
            "product_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "product_reviews_customer_id_customers_id_fk": {
          "name": "product_reviews_customer_id_customers_id_fk",
          "tableFrom": "product_reviews",
          "tableTo": "customers",
          "columnsFrom": [
            "customer_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "product_reviews_id": {
          "name": "product_reviews_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "product_types": {
      "name": "product_types",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(120)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(140)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "product_types_slug_unique": {
          "name": "product_types_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "product_types_id": {
          "name": "product_types_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "products": {
      "name": "products",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "sku": {
          "name": "sku",
          "type": "varchar(80)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(280)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "brand_id": {
          "name": "brand_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "product_type_id": {
          "name": "product_type_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "collection_id": {
          "name": "collection_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "frame_shape_id": {
          "name": "frame_shape_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "frame_color_id": {
          "name": "frame_color_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "age_group_id": {
          "name": "age_group_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "size_id": {
          "name": "size_id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "base_price": {
          "name": "base_price",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "discount_percent": {
          "name": "discount_percent",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "sale_price": {
          "name": "sale_price",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "stock_quantity": {
          "name": "stock_quantity",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "status": {
          "name": "status",
          "type": "enum('draft','active','archived','out_of_stock')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'draft'"
        },
        "is_featured": {
          "name": "is_featured",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "average_rating": {
          "name": "average_rating",
          "type": "decimal(3,2)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'0.00'"
        },
        "rating_count": {
          "name": "rating_count",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "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": "(now())"
        }
      },
      "indexes": {
        "products_sku_unique": {
          "name": "products_sku_unique",
          "columns": [
            "sku"
          ],
          "isUnique": true
        },
        "products_slug_unique": {
          "name": "products_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        },
        "products_brand_idx": {
          "name": "products_brand_idx",
          "columns": [
            "brand_id"
          ],
          "isUnique": false
        },
        "products_product_type_idx": {
          "name": "products_product_type_idx",
          "columns": [
            "product_type_id"
          ],
          "isUnique": false
        },
        "products_collection_idx": {
          "name": "products_collection_idx",
          "columns": [
            "collection_id"
          ],
          "isUnique": false
        },
        "products_price_idx": {
          "name": "products_price_idx",
          "columns": [
            "sale_price"
          ],
          "isUnique": false
        },
        "products_status_idx": {
          "name": "products_status_idx",
          "columns": [
            "status"
          ],
          "isUnique": false
        },
        "products_status_price_idx": {
          "name": "products_status_price_idx",
          "columns": [
            "status",
            "sale_price"
          ],
          "isUnique": false
        },
        "products_status_created_idx": {
          "name": "products_status_created_idx",
          "columns": [
            "status",
            "created_at"
          ],
          "isUnique": false
        },
        "products_status_rating_idx": {
          "name": "products_status_rating_idx",
          "columns": [
            "status",
            "average_rating",
            "rating_count"
          ],
          "isUnique": false
        },
        "products_status_featured_idx": {
          "name": "products_status_featured_idx",
          "columns": [
            "status",
            "is_featured"
          ],
          "isUnique": false
        }
      },
      "foreignKeys": {
        "products_brand_id_brands_id_fk": {
          "name": "products_brand_id_brands_id_fk",
          "tableFrom": "products",
          "tableTo": "brands",
          "columnsFrom": [
            "brand_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_product_type_id_product_types_id_fk": {
          "name": "products_product_type_id_product_types_id_fk",
          "tableFrom": "products",
          "tableTo": "product_types",
          "columnsFrom": [
            "product_type_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_collection_id_collections_id_fk": {
          "name": "products_collection_id_collections_id_fk",
          "tableFrom": "products",
          "tableTo": "collections",
          "columnsFrom": [
            "collection_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_frame_shape_id_frame_shapes_id_fk": {
          "name": "products_frame_shape_id_frame_shapes_id_fk",
          "tableFrom": "products",
          "tableTo": "frame_shapes",
          "columnsFrom": [
            "frame_shape_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_frame_color_id_frame_colors_id_fk": {
          "name": "products_frame_color_id_frame_colors_id_fk",
          "tableFrom": "products",
          "tableTo": "frame_colors",
          "columnsFrom": [
            "frame_color_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_age_group_id_age_groups_id_fk": {
          "name": "products_age_group_id_age_groups_id_fk",
          "tableFrom": "products",
          "tableTo": "age_groups",
          "columnsFrom": [
            "age_group_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "products_size_id_sizes_id_fk": {
          "name": "products_size_id_sizes_id_fk",
          "tableFrom": "products",
          "tableTo": "sizes",
          "columnsFrom": [
            "size_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "products_id": {
          "name": "products_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "sizes": {
      "name": "sizes",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "slug": {
          "name": "slug",
          "type": "varchar(40)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 0
        },
        "is_active": {
          "name": "is_active",
          "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": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {
        "sizes_slug_unique": {
          "name": "sizes_slug_unique",
          "columns": [
            "slug"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "sizes_id": {
          "name": "sizes_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "staff_users": {
      "name": "staff_users",
      "columns": {
        "id": {
          "name": "id",
          "type": "int unsigned",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "password_hash": {
          "name": "password_hash",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "role": {
          "name": "role",
          "type": "enum('seller','admin')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'seller'"
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "email_verified_at": {
          "name": "email_verified_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "last_login_at": {
          "name": "last_login_at",
          "type": "timestamp",
          "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": "(now())"
        }
      },
      "indexes": {
        "staff_users_email_unique": {
          "name": "staff_users_email_unique",
          "columns": [
            "email"
          ],
          "isUnique": true
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "staff_users_id": {
          "name": "staff_users_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    }
  },
  "views": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "tables": {},
    "indexes": {}
  }
}