当前位置: 首页 > 知识库问答 >
问题:

Django postgre迁移错误

梅耘豪
2023-03-14

我将我的数据库后端从sqlite3更改为PostGRE。当我尝试运行迁移时,我有一个错误

MacBook-Pro-Oleg:avtofarm okorablev$ python3 manage.py migrate

要执行的操作:同步未迁移的应用程序:messages、avtofarm、smart_selects、staticfiles、thumbnail应用所有迁移:contenttypes、admin、callboard、auth、sessions同步未迁移的应用程序:创建表...正在运行延迟SQL...正在安装自定义SQL...运行迁移:呈现模型状态...应用callboard.0004_auto_20150701_1609...TraceBack(最近的调用为last):文件“/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/backends/utils.py”,第64行,在execute return self.cursor.execute(sql,params)psycopg2.programmingerror:列“manufdate”不能自动强制转换为type date提示:指定一个USING表达式来执行转换。

上述异常是下列异常的直接原因:

回溯(最近调用最后一次):文件“manage.py”,第10行,在execute_from_command_line(sys.argv)文件“/library/frameworks/python.framework/version/3.4/lib/python3.4/site-packages/django/core/management/init.py”中,第338行,在execute_from_command_line utility.execute()文件“)文件”/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/core/management/base.py“第393行,在run_from_argv self.execute(*args,**cmd_options)文件”/library/frameworks/python.framework/versions/3.4/site-packages/django/management/base.py“第444行,在execute/commands/migrate.py”,第221行,句柄executor.migrate(目标,plan,fake=fake,fake_initial=fake_initial=fake_initial)文件“/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/migrations/executor.py”,第110行,在migrate self.apply_migration(states[migration],migration,fake_initial=fake_initial=fake_initial=fake_initial=fake_initial)文件“S/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/migrations/migrations.py”,第115行,在apply operation.database_forwards(self.app_label,schema_editor,old_state,project_state)文件“/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/migrations/fields.py”中,4.4/lib/python3.4/site-packages/django/db/backends/base/schema.py“,第484行,在alter_field old_db_params,new_db_params,strict)文件”/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/backends/base/schema.py“中,第636行,在_alter_field params中,文件”S/3.4/lib/python3.4/site-packages/django/db/backends/utils.py“,第79行,在execute return super(CursorDebugWrapper,self)中。execute(sql,params)文件”/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/python.framework/backends/utils.py“,第64行,在execute return self.cursor.execute(sql dj_exc_type,dj_exc_value,traceback)文件”/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/utils/six.py“,第658行,在reraise提高value.with_traceback(tb)文件”/library/frameworks/python.framework/versions/3.4/lib/python3.4/site-packages/django/db/backends/utils.py“,第64行,在execute return self.cursor.execute(sql,params)django.db.utils.programmingerror:

模型

class Zip(models.Model):
category = models.ForeignKey(Category,null=True,verbose_name='Категория')
subcategory = ChainedForeignKey(SubCategory,chained_field="category",
    chained_model_field="category",
    show_all=False,
    auto_choose=True,verbose_name='Подкатегория')
type = models.ForeignKey(Type,verbose_name='Состояние')
zipgroup = models.ForeignKey(ZipGroup,null=True,verbose_name='Группа запчастей')
ziptype = models.ForeignKey(ZipType,null=True,verbose_name='Вид запчасти')
cartype = models.ForeignKey(CarType,null=True,verbose_name='Тип авто')
carmodel = models.ForeignKey(CarModel,null=True,verbose_name='Модель транспорта')
carbodytype = models.ForeignKey(CarBodyType,null=True,verbose_name='Тип кузова')
catalognumber = models.CharField(max_length=100,null=True,blank=True,verbose_name='Номер по каталогу')
manufdate = models.CharField(max_length=4,null=True,verbose_name='Год выпуска')
title = models.CharField(max_length=100,verbose_name='Заголовок объявления')
description = models.TextField(null=True,verbose_name='Описание')
price = models.IntegerField(verbose_name='Цена')
user = models.ForeignKey(User,verbose_name='Пользователь')
creation_date = models.DateTimeField('date published')
is_sell = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
likes = models.IntegerField(default=0)

共有1个答案

酆浩邈
2023-03-14

查看您的迁移代码(对于包含zip模型的应用程序)。看起来迁移有一些问题,因为在当前模型中,当manufdate列的charfield类型为charfield时,您会收到有关日期转换的错误。

 类似资料:
  • 我用试用密钥尝试了State/BaselineMigration功能。https://flywaydb.org/documentation/concepts/baselinemigrationsFlyWay迁移执行脚本并正确移动到正确的版本。但在此基础上运行的所有迁移都失败了 从S开始2__xxx.sql然后它在版本2的模式表中创建一行并键入"SQL_STATE_SCRIPT" 再次执行flywa

  • 我的错误 我想知道做这次迁移的人打算做什么。

  • 我正在flyway的CMD中运行命令,但脚本文件的迁移会出现以下异常 [错误]无法执行目标组织。flywaydb:flyway maven插件:3.2.1:在convertopia auto db:org项目上迁移(默认cli)。flywaydb。果心应用程序编程接口。FlywayException:验证失败。迁移1.0.53的迁移描述不匹配[错误]- 我尝试过,它说构建成功,但问题仍然没有解决。

  • 当我尝试使用将android项目迁移到时,我收到一条错误消息。 错误信息 目前,以下库正在使用。 莫西 刀柄 房间 <代码>构建。渐变 有关更多详细信息,回购托管在此处-https://github.com/Abhimanyu14/finance-manager

  • 嗨,我正在尝试升级到wagtail 2.0。我已经处理了一系列错误,但我无法克服迁移时出现的错误: 非常感谢任何帮助 谢谢 提姆 完全控制台错误: (wagtail-isa) MacBook-Air:wagtailcmsdemo tim$ ./manage.py makemigrations Traceback(最近一次调用最后一次):文件“./manage.py”,第 10 行,在 execut

  • Laravel5.6运行于:PHP7.2,MariaDB 10.3 当我想为我的表设置外键时,我只是不断地犯这个错误。 在其他表中,由Laravel本身定义的所有id变量和无符号自动增量 所以,我的迁移是这样的: 错误如下所示: SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解在LINE 1(SQL:alter