{
  "version": "5",
  "dialect": "mysql",
  "id": "7929e9f4-716b-4be2-8741-ef1f5481bedb",
  "prevId": "60cbcd31-a229-4be4-87ae-e8ad077181b5",
  "tables": {
    "license_keys": {
      "name": "license_keys",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "orderId": {
          "name": "orderId",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "licenseKey": {
          "name": "licenseKey",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "downloadUrl": {
          "name": "downloadUrl",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "isUsed": {
          "name": "isUsed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": false
        },
        "deliveredAt": {
          "name": "deliveredAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "createdAt": {
          "name": "createdAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "license_keys_id": {
          "name": "license_keys_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "license_keys_licenseKey_unique": {
          "name": "license_keys_licenseKey_unique",
          "columns": [
            "licenseKey"
          ]
        }
      },
      "checkConstraint": {}
    },
    "orders": {
      "name": "orders",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "orderId": {
          "name": "orderId",
          "type": "varchar(32)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "productId": {
          "name": "productId",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "customerName": {
          "name": "customerName",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "customerEmail": {
          "name": "customerEmail",
          "type": "varchar(320)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "customerPhone": {
          "name": "customerPhone",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "paymentMethod": {
          "name": "paymentMethod",
          "type": "enum('bkash','nagad','binance')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "status": {
          "name": "status",
          "type": "enum('pending','approved','rejected','completed')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'pending'"
        },
        "totalPrice": {
          "name": "totalPrice",
          "type": "decimal(10,2)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "transactionId": {
          "name": "transactionId",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "paymentProofUrl": {
          "name": "paymentProofUrl",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "licenseKey": {
          "name": "licenseKey",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "downloadUrl": {
          "name": "downloadUrl",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "rejectionReason": {
          "name": "rejectionReason",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "createdAt": {
          "name": "createdAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updatedAt": {
          "name": "updatedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        },
        "approvedAt": {
          "name": "approvedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "deliveredAt": {
          "name": "deliveredAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "orders_id": {
          "name": "orders_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "orders_orderId_unique": {
          "name": "orders_orderId_unique",
          "columns": [
            "orderId"
          ]
        }
      },
      "checkConstraint": {}
    },
    "payment_proofs": {
      "name": "payment_proofs",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "orderId": {
          "name": "orderId",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "transactionId": {
          "name": "transactionId",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "proofUrl": {
          "name": "proofUrl",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "uploadedAt": {
          "name": "uploadedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "verifiedAt": {
          "name": "verifiedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "verifiedBy": {
          "name": "verifiedBy",
          "type": "int",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "payment_proofs_id": {
          "name": "payment_proofs_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "products": {
      "name": "products",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "price": {
          "name": "price",
          "type": "decimal(10,2)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "stock": {
          "name": "stock",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": 999999
        },
        "isActive": {
          "name": "isActive",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": true
        },
        "createdAt": {
          "name": "createdAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updatedAt": {
          "name": "updatedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "products_id": {
          "name": "products_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {},
      "checkConstraint": {}
    },
    "users": {
      "name": "users",
      "columns": {
        "id": {
          "name": "id",
          "type": "int",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": true
        },
        "openId": {
          "name": "openId",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "email": {
          "name": "email",
          "type": "varchar(320)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "loginMethod": {
          "name": "loginMethod",
          "type": "varchar(64)",
          "primaryKey": false,
          "notNull": false,
          "autoincrement": false
        },
        "role": {
          "name": "role",
          "type": "enum('user','admin')",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "'user'"
        },
        "createdAt": {
          "name": "createdAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        },
        "updatedAt": {
          "name": "updatedAt",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "onUpdate": true,
          "default": "(now())"
        },
        "lastSignedIn": {
          "name": "lastSignedIn",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "autoincrement": false,
          "default": "(now())"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "users_id": {
          "name": "users_id",
          "columns": [
            "id"
          ]
        }
      },
      "uniqueConstraints": {
        "users_openId_unique": {
          "name": "users_openId_unique",
          "columns": [
            "openId"
          ]
        }
      },
      "checkConstraint": {}
    }
  },
  "views": {},
  "_meta": {
    "schemas": {},
    "tables": {},
    "columns": {}
  },
  "internal": {
    "tables": {},
    "indexes": {}
  }
}