Tuesday’s do-over election for a congressional seat marred by allegations of fraud last year, taking place in a Republican-leaning slice of North Carolina, exemplifies the key push-pull of politics in the Trump era: Cities and suburbs racing away from the GOP and toward Democrats — and rural and exurban voters roaring back in the other direction, propelled by President Donald Trump’s appeal.

The battle to maximize those trends will shape the 2020 campaign between Trump and his Democratic opponent in virtually every important swing state, from the Midwestern battlegrounds of Michigan, Pennsylvania and Wisconsin to Florida and Arizona in the Sun Belt. And it’s driving the election in North Carolina’s 9th District, which Trump carried handily in 2016 but became a surprising 2018 swing seat amid broad suburban backlash to the president.

The president will hold a rally for Republican nominee Dan Bishop on Monday night in Fayetteville, seeking to boost GOP turnout on one end of the district and outdo Charlotte and its immediate suburbs on the opposite end, where Democrats in Mecklenburg County are in ascendance.