2016-07-12 7 views
2

Pythonのバージョン2.7 Djangoのバージョンを作成しないHerokuのサーバに移行して。私はherokuサーバーをmigrateに正しく取得できません。過去に私はすべてmakemigrationsをローカルに実行してから、サーバーにプッシュしました。それは過去に働いていた。今私は、このアプリをローカルで実行していないので、サーバー側ですべての移行を行うことを選択したと思った。ジャンゴmakemigrationsは、テーブル、私はHerokuの上でDjangoのアプリを作成しました1.9.7</p> <p>

私はちょうどアプリ 'メイン' のmodels.py内部つの新しいモデルを作成しました:

from __future__ import unicode_literals 

from django.db import models 

class InstagramPhotos(models.Model): 
    imageId = models.IntegerField() 
    userId = models.IntegerField() 
    likes = models.IntegerField() 
    captionText = models.CharField(max_length=200) 
    image = models.ImageField() 

サーバーに変更をプッシュした後、私は次の出力で、これを実行しました:

heroku run python manage.py makemigrations main 

実行中のpython manage.py makemigrations main⬢ glacial-beach-50253 ... up、run.8354 'main'の移行:
0001_initial.py: -

InstagramPhotosモデルを作成し、[OK]を右ですか?だから、私はあなたが実際にDBにテーブルを作成します知っているようにどのmigrateにしてみてください:

heroku run python manage.py migrate 

Pythonは⬢氷-ビーチ-50253 ...アップ、 run.7556に移行manage.pyの実行します実行する操作:すべての移行を適用:auth、 contenttypes、admin、sessions移行の実行: への移行は適用されません。お客様のモデルには、 の移行にまだ反映されていない変更が適用されています。 'manage.py makemigrations' を実行して新しい移行を行い、 'manage.py migrate'を再実行して を適用します。

どんなに私がしようとした回数を再実行makemigrations、その後migrate、まだそれを拾うていないようです。なぜこれが起きているのかわからないのですが、これはherokuサーバーでこのように操作することはできません。私は間違いなくmakemigrationsをローカルに実行する必要がありますか?

FYIまだデフォルトのsqlite3 DBはまだsettings.pyで定義されています。

+4

** Heroku **でmakemigrationsを実行しないでください。ローカルで実行し、結果をコミットしてプッシュし、Herokuで移行を実行します。 –

+0

ありがとう、まだ私はそれを行うことができませんでした。なぜなら、すべての依存関係を最新にすることなく、ローカルでのマカミネーションをローカルにしたいからです。私はDjangoの新しいバージョンでは、彼らは枕を必要とすると思うが、まだ私はもちろん、問題の依存関係をインストールしたサーバー上でこれをすべて行うしようと考えていない。私はカードに入っていないことを今見ている。 –

+1

アプリケーションをローカルで実行することができれば、どのように開発することができますか? –

答えて

1

私も同様の問題がありました。

私はちょうどsshとHerokuのダイナモへ: heroku run bash(あなたのHerokuのアプリケーションフォルダのOFCから)

すべてのマイグレーションを実行したより、必要に応じてmakemigrationはcreatesuperuserでコマンド。 私のためにsqliteとpostgreで動作します。

+1

投稿後の時間の後、私は英雄を使用する方がはるかに優れた方法を学んだ。あなたはherokuサーバ上で 'makemigrations'をする必要はありません。あなたは常に 'makemigrations'をローカルにしてからサーバーに押してください。サーバ上でのみ 'migrateする必要があります。 –

関連する問題