Tag: django migrations

如何在使用–fake之后在django 1.8上重新进行迁移

我的迁移出了点问题,我添加了一个新的datetimefield到模型,然后我使用makemigrations进行迁移。 python manage.py makemigrations python manage.py migrate 但在此之后迁移得到了“表已经存在的错误”。 我想我可以伪造移民,重新开始,所以我做了 python manage.py makemigrations –fake core Operations to perform: Apply all migrations: core Running migrations: Rendering model states… DONE Applying core.0001_initial… FAKED Applying core.0002_auto_20150525_1331… FAKED Applying core.0003_auto_20150525_1348… FAKED Applying core.0004_processo_data_atualizacao… FAKED 但我刚刚创build的新迁移也是假的(当然!)。 在做这个之后,重做迁移的方法是什么(在这里是core.0004)?

Django 1.7迁移得到错误“表已经存在”

我正在尝试应用迁移,但得到错误: django.db.utils.OperationalError:(1050,“表'customers_customer'already exists”) 我通过发出以下命令得到这个: python manage.py migrate 我的客户表已经存在,那么我该如何让迁移知道这一点,而不是出错,并对我的模型运行我的修改? 我用本地数据库运行在我的本地环境,没有问题。 这是当我指出我的数据库生产和运行上面,我得到这个错误。

我可以在Django中使用数据库视图作为模型吗?

我想使用我的数据库中创build的视图作为我的Django视图的来源。 这是可能的,而不使用自定义的SQL? ****** 13/02/09更新*********** 和许多答案一样,您可以在数据库中创build自己的视图,然后在models.py中定义它,然后在API中使用它。 一些警告虽然: manage.py syncdb将不再工作 视图在其名称的起始处需要与所有其他模型(表)相同的东西,例如,如果您的应用程序被称为“东西”,那么您的视图将需要被称为thing_ $ viewname

如何从Django 1.7的初始迁移中迁移回来?

我用一些模型创build了一个新的应用程序,现在我注意到一些模型没有经过深思熟虑。 由于我没有提交代码,所以明智的做法是将数据库迁移到最后状态,并使用更好的模型重新进行迁移。 在这种情况下,最后的良好状态是新应用程序不存在的数据库。 我如何从Django 1.7的初始迁移中迁移回来? 在South可以这样做: python manage.py migrate <app> zero 这将从迁移历史中清除<app> ,并删除<app>所有表。 如何用Django 1.7迁移做到这一点?

如何重置Django 1.7中的迁移?

南方已经有类似的问题了,但是我用Django 1.7开始了我的项目,并没有使用South。 在开发过程中,已经创build了大量的迁移,但是这个软件还没有发布,也没有必须迁移的数据库。 因此,我想重置迁移,就好像我当前的模型是原始模型,并重新创build所有数据库。 推荐的方法是什么? 编辑:从Django 1.8开始,有一个名为squashmigrations的新命令,或多或less地解决了这里描述的问题。

Django 1.7 – makemigrations没有检测到变化

正如标题所说,我似乎无法获得迁移工作。 该应用程序最初是在1.6以下,所以我明白,迁移将不会在那里开始,事实上,如果我运行python manage.py migrate我得到: Operations to perform: Synchronize unmigrated apps: myapp Apply all migrations: admin, contenttypes, auth, sessions Synchronizing apps without migrations: Creating tables… Installing custom SQL… Installing indexes… Running migrations: No migrations to apply. 如果我对myapp任何模型进行了更改,它仍然会如预期的那样表示没有偏移。 但是,如果我运行python manage.py makemigrations myapp我得到: No changes detected in app 'myapp' 似乎并不关心我运行该命令的方式,也不会检测到应用程序发生更改,也不会将任何迁移文件添加到应用程序中。 有什么办法强制一个应用程序迁移,基本上说:“这是我的基地工作”或任何东西? 还是我错过了什么? 我的数据库是PostgreSQL的,如果有帮助的话。