Today, I have faced exactly same problem and the solution was similar to @nealium . I am writing here for future reference for others. (ChatGPT was not able to solve with there list of 9-10 possibilities or may be i was not able to write good prompt).
sudo -u postgres psqlpsql$ \connect books\dtSELECT * from django_migrations; it will tells what are migrations that are applied and if your migration for the app is there then manange.py migrate app_name will have no effect as explained in the question.DELETE FROM django_migrations WHERE app = 'author'; it will delete all applied migrations created for app name 'author' and you can continue with new makemigrations and migrate OR