The gravity model of migration, like the gravity model of international trade, is a theoretical model. When you try to estimate the model, there isn't a predetermined cap to what kind of variables or how many of them you can include in your regressions as controls in the reduced form econometric specification. The controls aren't just limited to dummies. Those estimated coefficients are often interesting in their own right.
As Bunea (2012) says (emphasis mine):
Since Lowry (1966, pp. 1-118), the basic gravity model has been
extended to the following form:
$$
\begin{align*}
M_{ij} = &\beta_0 \times log(g) + \beta_1 \times log(P_i) + \beta_2 \times log(P_j) + \beta_3 \times log(X_i) + \\
&\beta_4 \times log(X_j) + \beta_5 \times log(D_{ij}) + \varepsilon_{ij}
\end{align*}
$$
where $X_i$ is a vector of explanatory variables describing different features of the origin (i.e. push factors) and $X_j$ is a vector of explanatory variables describing features of the destination (i.e. pull factors). Push factors are those characteristics of the origin place that encourage (discourage) out-migration (in-migration), such as low incomes, high unemployment, high prices, in general few opportunities for development.
Whether some of these explanatory variables should be included in your regressions warrants a separate question and is dependent on the research context.