Django1.6版本的PG数据库定义手动升级

Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的。这篇文章谈一下1.6下的手动更新升级。

1、table create和table delete操作,万幸的是Django即便是旧版本,其table的添加删除,其syncdb命令也可以识别出来。

2、field add和field remove 这两个操作得自己手动来。一般定义名称、类型、非空这些基本属性,因为Django的model会默认增加主键,所以像主键字段的序列这种比较麻烦的定义就不用自己来了,但是像外键约束、索引啊这些东西有的时候还需要自己手动添加。外键约束的名字和索引的名字最好参考Django的命名方式,防止数据库内命名冲突。

3、修改主键序列,为表递增ID主键建立独立的序列是PG数据库的做法,这个序列是可以修改的,最主要的修改我觉得可能就是当前最大ID值,也就是序列的当前值,有的时候,像某些配置数据的修改,可能需要修改这个序列。

时间: 2024-11-06 03:30:46

Django1.6版本的PG数据库定义手动升级的相关文章

PG数据库之间的导入导出

本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_restore选项可能会有些不同,请注意). 导出.导入的整体思路是: 导出全局对象,如用户.编码.权限等,产生文件global-objs.dmp 导出每个数据库中的对象.结构,如建库语句.用户.权限.编码.表结构.自定义类型等,产生 [库名]-objs.dmp文件,如dxm-objs.dmp 导出每个数据库

pg数据库data目录

概述 pg数据库和mysql数据库的安装目录结构很类似,程序和数据是分开的,在启动时候可以自行指定不同的数据目录来做到启动不同的数据库. 目录 下面表格来解释pg数据目录下,每个文件夹以及文件名的作用. 目录名 作用 base 该目录包含了数据库中各个数据库,每个数据库都是由一个文件夹组成,文件名是该数据库的oid,这个可以通过数据字典pg_database来查看对应的数据库名(select oid,datname from pg_database). pg_xlog/pg_wal 该目录包含w

PG数据库部署

软件包下载 wgethttp://download.osgeo.org/postgis/source/postgis-2.2.2.tar.gz wgethttps://ftp.postgresql.org/pub/source/v9.4.8/postgresql-9.4.8.tar.gz wgethttp://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz wgethttp://download.osgeo.org/geos/geos-3.5.0.

使用Django1.10版本时,配置文件要注意的地方

问题一描述: Django1.10版本中框架中settings.py配置文件 DEBUG= True ALLOWED_HOSTS = ['*'] #这样可以让所有来源的ip访问到后台 使用 python3 manager.py runserver后访问,发现没有css,js样式. 网上查询得知:Django1.9版本后静态文件目录需要创建.大概的意思就是在settings.py文件中添加一下配置部分: PROJECT_ROOT = os.path.dirname(os.path.abspath(

Qt5.8以上版本编译Oracle数据库的OCI驱动教程

在前一篇的文章中我已经发过一个相似的文章,详情请点击:Qt5编译oracle驱动教程. 在那一篇文章中已经可以解决了Qt5的常用版本的Oracle数据库驱动的支持,但是在新的Qt开发工具中那种方法竟然失效了,具体出现在Qt5.7.1之后的版本. 这次我带来Qt5.8.0的编译教程,Qt5.9的版本同样适用. Qt版本是Qt5.8.0,安装路径是默认的 C:\Qt\Qt5.8.0,Oracle客户端版本oracle 11g 安装路径是 D:\app\Xiao\product\11.2.0\clie

数据库定义语言

DDL:数据库定义语言(create table.alter table.drop table.create view) 一.创建表:Creat table 1.创建表格式: create table [表名]( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5]

pg数据库数据表异常挂起

pg数据库即是PostgreSQL数据库. 前几天在一个Java项目中,出现运行Java程序后,pg数据库的数据表异常挂起.而且是在某台电脑上出现的,重装数据库也没用,其它电脑未能复现,是个很奇怪的现象. 异常挂起的主要表现是: 1.使用pgAdmin选中相应的表,会导致pgAdmin未响应,并且很长时间都无法恢复. 2.使用pgAdmin直接sql命令增删查改都无法执行,执行所花时间从几十毫秒一直增长到几分钟,预计会一直增长下去. 3.只有重启PostgreSQL服务才能让出现异常的数据表恢复

有关数据库定义梳理

关于数据库的定义,我突然发现有一些初学者没有办法分清数据库和数据库管理系统,一些人就认为oracle或者MySQL就是数据库.百度百科上关于数据库的定义,我认为也并不是十分清晰. 在百度百科中,数据库的定义为“数据库是按照数据结构来组织.存储和管理数据的仓库”.数据库确实是存储数据的仓库没错,可是它是否存在管理的功能?如果存在,那么它和数据库管理系统又有什么区别呢? 通过查阅,我发现将数据库定义为“是存储在某种存储介质上的相关数据有组合的集合”更加合适.在这个定义中,特别要注意“相关数据”和“有

pg数据库表接口和数据导出

导出命令 pg_dump -h localhost -p 5432 -U postgres --inserts -t human_info > D:\human_info_backup.sql testdb 命令说明 pg_dump:是pg数据库中自带的备份命令,在bin目录下,所有要执行的话,必须在bin目录下进行执行. -h:指定主机地址,就是pg数据库所在服务器,这里指定的主机地址就是本地localhost -p:指定主机端口,就是pg数据库应用的端口,这里使用默认的端口,默认貌似可以不用