2016-08-03 50 views
1

我得到的错误:如何使用新表迁移heroku上的本地数据库?

Exception Value:  
no such table: hello_surname 

当我试图证明访问姓模式

在我的models.py视图

class Surname(models.Model): 
    created = models.DateTimeField('date created', auto_now_add=True) 
    name = models.CharField(max_length=35) 

我试图运行迁移$ heroku run python manage.py migrate

输出:

Running python manage.py migrate on ⬢ sleepy-fjord... up, run.7027 

Operations to perform: 
    Apply all migrations: sessions, auth, hello, contenttypes, admin 
Running migrations: 
    No migrations to apply. 
    Your models have changes that are not yet reflected in a migration, and so won't be applied. 
    Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them. 

然后我运行$ heroku run python manage.py makemigrations

输出:

Running python manage.py makemigrations on ⬢ sleepy-fjord... up, run.8567 
Migrations for 'hello': 
    0002_surname.py: 
    - Create model Surname 

当我再次运行顶部迁移,它只是提供了输出,当我跑了它的第一次相同。好像我在这里错过了一个步骤,但输出我似乎无法自己弄清楚。任何人都知道解决方案

+0

./manage.py makemigrations myappname – e4c5

+0

所以你的意思是说当你在'$ heroku运行python manage.py makemigrations'后执行'$ heroku运行python manage.py migrate'时,你仍然会得到** No migrations to应用**以及**您的模型的变化尚未反映在迁移中,因此不会被应用。或者只是**没有迁移申请** ?? –

回答

0

必须运行使迁移本地,提交结果,然后运行在Heroku上迁移。

+0

对不起,我对这个概念有点新意,你会如何在本地专门运行它? – hakonbogen

+1

如果我没有错,那么@Daniel的意思是说,你只需要简单地将'python manage.py makemigrations',然后'python manage.py migrate'放在你的本地而不是heroku上。然后你需要对heroku进行提交,即'git push heroku master',然后在heroku上运行迁移。我是丹尼尔还是我错过了什么? –

相关问题