从model到数据库的迁移(转载)

先附上原文链接:http://www.cnblogs.com/babykick/archive/2012/02/02/2336019.html

1)创建一个没有数据库的新项目时

    1、创建数据库

    2、将south添加到INSTALLED_APPS

    3、运行syncdb命令,它将django和south的数据表加入到数据库中

    4、将你创建的apps添加到INSTALLED_APPS

    5、对每个app分别运行“python manage.py schemamigration app_name
--initial”,它将在每个app的目录下创建migration目录和相应的文件

    6、然后运行“python manage.py migrate
app_name”,这一步将app的数据表加入到数据库中

  2)在带有数据库的已存项目中使用south

    1、将south加入到INSTALLED_APPS中

    2、运行syncdb,它将south的数据表加入到数据库中

    3、对每个app分别运行python manage.py schemamigration app_name
--initial,它将在每个app的目录下创建migration目录和相应的文件

    4、对每个app分别运行“python manage.py migrate app_name 0001
--fake”,该命令不会对数据库做任何操作,只是欺骗一下south,让它在south_migrationhistory表中添加一些记录以便于下次你想创造migration文件的时候所有东西都已搞定。

  3、在没有数据库的已存项目中使用south

    1)创建数据库

    2)将south加入到INSTALLED_APPS中

    3)对每个app分别运行“python manage.py schemamigration app_name
--initial”,它将在每个app的目录下创建migration目录和相应的文件

    4)运行syncdb,它将所有没有migrations的apps加入到数据库中

    5)然后运行“python manage.py migrate”命令,它将对你的所有apps运行迁移操作。

需要注意的几点:1.init0001那个文件不能删,删了就会从头开始

2.如果是新建项目,最好在django里写模型然后生成,抛弃数据库,实在没办法再用我上一篇博文的办法

从model到数据库的迁移(转载),码迷,mamicode.com

时间: 2024-12-24 05:50:13

从model到数据库的迁移(转载)的相关文章

Django-South 实现数据库自动迁移

1. South 简介 South 是Django的第三方app,专门做数据库表结构自动迁移工作.他已经成为Django数据库表迁移标准,很多第三方app都会带South migrations脚本. 2. syncdb简介 syncdb意思是数据库同步.syncdb 命令是同步你的模型到数据库的一个简单方法. 它会根据 INSTALLED_APPS 里设置的app来检查数据库, 如果表不存在,它就会创建它. 需要注意的是,syncdb 并不能将模型的修改或删除同步到数据库:如果你修改或删除了一个

CoreData数据库版本迁移--干货

CoreData使用的是第三方库MagicRecord. 版本不断覆盖时需要对数据库进行迁移,经过不断打包测试,发现以下规律: a.表中增加模型,覆盖安装后上一个版本表中数据无法再取出 b.A模型中新增加字段,覆盖安装后,访问A模型数据,程序闪退,必须删除以前版本重新安装,才能正常访问表中A模型的字段 c.A模型中删除字段,覆盖安装后,对应用无影响 所以,只要数据库表中有增加删除模型,模型增加字段等,都需要先做好版本迁移工作.具体步骤如下: 1.选中当前CoreData的工作表(LearnDri

jango 模型管理数据model,数据库外键主键与一对一,一对多,多对多关系

四.models.py 定义和管理模型: 4.1模型class的属性就映射与数据库的字段参数 继承models.Model class TestClass(models.Model): 4.2在数据库生成数据表: #django默认在makemigrations会为表对象创建主键id,id = models.AutoField(primary_key=True) 你也可以自定义一个主键对象: 4.2.1: 生成迁移文件python manage.py makemigrations 4.2.2执行

零基础mysql数据库表迁移

@ 把老数据库中的某个表倒出成sql文件 $mysql -uroot -p my_db > my_db.sql (输入密码) @ 在新环境中导入 $sudo apt-get install mysql-server -y (期间要初始化root用户的密码) $mysql -uroot -p (输入密码) mysql> show databases;(注意分号) mysql> create database my_db; mysql> show databases; mysql>

Django model与数据库操作对应关系(转)

? Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法: QuerySet是Manager的方法返回的,是一个可遍历结构,包含一个或多个元素,每个元素都是一个Model 实例,它里面的方法也是表级方法. Model是一条记录的类,它的功能很强大,里面包含外键实体等,它的方法都是记录级方法(都是实例方

oracle数据库的迁移(从一台服务器到另一个台服务器,从oracle 10g到oracle 11g)

这个过程呢,还是蛮艰难的.... 一.最初我使用的是Navicat中的数据传输来迁移的,虽说整个数据库的迁移没有成功,但传输指定的对象时还是传输成功了.所以还是记录一下吧. 1.前提连接好数据库.在指定的数据库上右击,选择"数据传输". 2.在弹出的框内选择源库和目的库以及模式和你要传输的对象,如下图所示 3.点击开始便可传输 二.在利用Navicat只可传输对象,没办法传输模式等.但是如果要迁移整个数据库,肯定不仅只有迁移对象这么简单了.于是我选择了expdp和impdp导入导出的方

SQL Server tempdb 数据库位置迁移

SQL Server tempdb 数据库位置迁移 --查看物理位置 SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('tempdb'); --修改路径 ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'D:\DataBaseNew\tempdb.mdf'); ALTER DATABASE tempdb MODIFY F

让Code First下的数据库的迁移更加简单

Code First给我们的程序开发带了很多便利,之前的版本中一个比较不大方便的地方是数据库迁移,麻烦不说,往往还和上下文相关,在不同的版本之间的数据库进行迁移还很容易失败,并且一旦失败还不大容易找到解决方案.可能是微软已经意识到这个不足,现在Entity Framework已经支持数据库自动迁移了,比之前的方案要简单太多,下面简单的介绍一下如何使用自动迁移. 开始迁移之前: 开始迁移之前,需要将要迁移的项目设置为默认项目.这一步非常重要,否则后面会出现许多莫名其妙的错误,它包括两个步骤 在解决

Oracle实例和Oracle数据库(Oracle体系结构)---转载

对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL server我们根本不需要花费太 多的精力去搞清SQL实例和数据库,因为它简单易于理解.下面简要说明一下SQL实例.数据库,更多的是讲 述Oracle下的实例及数据库. 一.SQL server中的实例与数据库 1.SQL中的实例指的是一个SQL server服务器上仅有一个缺省实例.缺省实例名即为机器名S