【问题标题】:Error when migrating django app on heroku bash在 heroku bash 上迁移 django 应用程序时出错
【发布时间】:2019-04-17 16:13:12
【问题描述】:

Screenshot of heroku bash running on cmd首先,我在heroku 上部署了我的django 应用程序。该站点运行良好,但是当我尝试与数据库交互时(填写将输入提交给 db 的表单),出现编程错误。我了解到我需要在 heroku bash 上运行 migrate 命令并且做到了。几次迁移后,它返回了很多错误行,第一句话是 '..../django.db.backends.until.py, line 85, in _execute 返回 self.cursor.execute(SQL, 参数) pyscopg2.DataError:整数超出范围。 然后其他错误行说上述错误导致其他错误。请问我该如何解决这个问题?网上搜了没找到

PS 如果我在我的机器上以开发模式运行迁移命令 cmd,它运行良好。

#0004_auto_... file


from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
    ('mainsite', '0003_auto_20181109_2333'),
]

operations = [
    migrations.AlterField(
        model_name='contact',
        name='phone',
        field=models.CharField(max_length=20),
    ),
]

然后这是受影响的模型:

#models.py file

from django.db import models
from django.utils import timezone

# Create your models here.

class Contact(models.Model):
    name = models.CharField(max_length=200)
    email = models.CharField(max_length=100)
    phone = models.CharField(max_length=20)
    message = models.TextField()
    date = models.DateTimeFiel``d(default=timezone.now)


    def __str__(self):
        return self.name +'(' + self.email +')'

【问题讨论】:

  • 一行错误信息是不够的信息。请显示完整的回溯、失败的迁移文件以及相关模型。
  • @Alasdair 添加了屏幕截图,因为我无法在 cmd 上复制错误代码
  • 请出示迁移文件(mainsite/migrations/0002_auto_...py)及相关机型
  • @Alasdair 代码块添加

标签: django heroku heroku-postgres


【解决方案1】:

感谢@alasdair 抽出宝贵时间,在网上多查了一下,找到了原因。 我出于愚蠢的好奇心在 heroku bash 上运行了makemigrations。我不应该有,因为它是创建那些给我带来麻烦的迁移文件的原因。我直接跑了migrate

【讨论】:

    猜你喜欢
    • 2012-04-26
    • 2015-04-30
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 2015-03-31
    • 2019-09-12
    • 2010-10-27
    • 2016-09-05
    相关资源
    最近更新 更多