我正在生产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) 我不确定这个问题是应该发布在数据库管理员部分还是这里,所以请告知我是否错了.
我有一个基于Django的网站,它没有太大变化.如果我需要重新部署或数据库损坏,我使用python manage.py dumpdata --all --indent=2 > backup.json
并重新加载数据loaddata
.(我知道什么时候不排除出现完整性错误auth
和content_types
)
由于我在后端使用PostgreSQL,我使用它是"最佳实践"还是"更明智" pg_dump
,然后pg_restore
如果出现问题或需要重新部署?
因此,dumpdata
转储与所选应用程序(和/或模型)关联的所有数据,并pg_dump
执行数据库的完全转储.这是同一件事还是我错过了一个根本的区别(请注意,我对DBA有0次经验)?
我选择哪个选项以及为什么?
我正在尝试在 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)