小编Kee*_*nce的帖子

从Django 1.6升级到1.9:python manage.py迁移失败

我正在生产Django 1.6.6并且最近在登台(dev服务器)上升级到了1.9.7.此更新是在服务器上执行的,我按照此处概述的步骤从South升级.

我注意到迁移文件的结构已更改,并且它们不再包含create语句.这会导致问题,因为如果我从我的GitHub库拉这个新的代码和运行python manage.py makemigrations或者python manage.py migrate,它说:

django.db.utils.OperationalError: no such table: appname_modelname

回溯指向我的urls.py,因为我在查询集中引用了模型:

queryset=list(chain(models.modelname.objects.filter(booleanField=True).order_by(object), models.aDifferentModel.objects.all())),

在1.9升级之前,syncdb为我创建了表,但事实并非如此migrate.我也尝试了,python manage.py migrate --run-syncdb但这给出了同样的错误.

但是,如果我将SQLite数据库从我的生产或登台环境复制到我的本地计算机并运行该命令,它就可以工作(因为该表已经在数据库中).

我是否必须手动创建这些表(虽然我不假设)或者我做错了什么?

编辑:添加了代码段和回溯.很抱歉没有这样做.

models.py

class HowToApply(models.Model):
    title = models.CharField(max_length=500, blank=True, null=True)
    notice = models.TextField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
active = models.BooleanField(default=None)
image = models.FileField(upload_to='numeric/img/%Y', blank=True, null=True)
mobile_image = models.FileField(upload_to='mobile/img/%Y', blank=True, null=True)
sequence_number = models.IntegerField(unique=True)
Run Code Online (Sandbox Code Playgroud)

...

urls.py

from django.conf.urls import patterns, include, url
from django.views.generic import RedirectView, …
Run Code Online (Sandbox Code Playgroud)

python sqlite django django-south django-migrations

6
推荐指数
1
解决办法
1052
查看次数

Django的"dumpdata"或Postgres的"pg_dump"?

我不确定这个问题是应该发布在数据库管理员部分还是这里,所以请告知我是否错了.

我有一个基于Django的网站,它没有太大变化.如果我需要重新部署或数据库损坏,我使用python manage.py dumpdata --all --indent=2 > backup.json并重新加载数据loaddata.(我知道什么时候不排除出现完整性错误authcontent_types)

由于我在后端使用PostgreSQL,我使用它是"最佳实践"还是"更明智" pg_dump,然后pg_restore如果出现问题或需要重新部署?

因此,dumpdata转储与所选应用程序(和/或模型)关联的所有数据,并pg_dump执行数据库的完全转储.这是同一件事还是我错过了一个根本的区别(请注意,我对DBA有0次经验)?

我选择哪个选项以及为什么?

database django postgresql database-backups dumpdata

6
推荐指数
1
解决办法
2395
查看次数

NGINX 配置不起作用

我正在尝试在 Digital Ocean 上使用 nginx 设置 nodejs 站点,但它似乎不起作用。IP:端口很好,我指向本地主机的 127.0.0.1。但是在重新启动 ngnix 后,我得到了默认值。

这是我的配置。我希望有人能够看到我在这里做错了什么。

server {
    listen 80;
    server_name mydomain.me;

    location / {
        proxy_pass http://0.0.0.0:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
Run Code Online (Sandbox Code Playgroud)

nginx nginx-location

0
推荐指数
1
解决办法
3054
查看次数