我試圖將我的Django應用程序部署到Heroku。遷移在我的本地Git中。當我嘗試:在django syncdb傳遞後,Heroku出現「no such table」錯誤
git push heroku master
heroku run python manage.py syncdb
它應用遷移,也promts我創造的超級用戶,這是我做成功。現在,應用程序啓動和運行,但是當我嘗試登錄到admin它拋出:
OperationalError no such table: user_user
當我嘗試
heroku run python manage.py makemigrations
heroku run python manage.py migrate
heroku run python manage.py createsuperuser
它適用於所有遷移,但未能創造超級投擲:
django.db.utils.OperationalError: no such table: user_user
無論哪種方式,我不能讓我的數據庫設置和遷移Heroku。
我的數據庫設置爲:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
我的用戶模型是:
class User(AbstractUser):
rating = models.PositiveIntegerField(default=settings.DEFAULT_USER_RATING)
Django的版本是1.7.1。
如何獲取在Heroku上創建的數據庫表?
我不明白你的問題。你說運行'migrate'應用遷移。那麼,這樣做,而不是syncdb,反正它已被棄用。 –
我已經更新了這個問題變得更清楚。這個問題既不是syncdb也不是遷移幫助在heroku上設置數據庫。試圖登錄到Django管理員時,我仍然面臨「沒有這樣的表:user_user」。 –
[Heroku創建的表可能重複,但是當我將遷移時,他說不創建](http://stackoverflow.com/questions/15467389/heroku-created-table-but-when-ill-migrate-他說,沒有創建) –