首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-Mysql数据迁移

Django-Mysql数据迁移
EN

Stack Overflow用户
提问于 2012-05-15 19:59:39
回答 3查看 1.4K关注 0票数 0

我想知道最简单的方法:

我有一个名为Student的模型,在数据库中有许多学生具有许多属性,例如:

名称类型

id int(11)

varchar(200)

性静脉曲张(1)

int状态(11)

创建日期时间

我想要做的是将模型重命名为客户,并将"status“字段改为Charfield (varchar)而不是整数。我得把数据库里的数据原封不动。

EN

回答 3

Stack Overflow用户

发布于 2012-05-15 20:04:36

的世界敞开你自己。South是Django项目的智能模式和数据迁移。

AFter安装并将'south‘放入您的django设置installed_apps列表中,您希望运行2个命令。

  1. python模式迁移manage.py my_app_name --第一次运行它时使用初始#my_app_name
  2. AFter步骤1在应用程序文件夹中有一个名为“迁移”的文件夹,现在您必须通过执行python manage.py迁移my_app_name来应用迁移。

在应用迁移之后,您可以通过运行python manage.py迁移my_app_name -列表来检查迁移的状态。使用a*的迁移已被应用。

票数 2
EN

Stack Overflow用户

发布于 2012-05-15 20:08:50

创建表客户( id int(11), 名称varchar(200), 性静脉曲张(1) 状态varchar(20)创建日期时间); 插入到客户选择id,姓名,性别,铸造(身份作为字符),由学生创建;

然后,当然,编辑你的django匹配。

票数 0
EN

Stack Overflow用户

发布于 2012-05-15 21:48:10

如果没有其他模型引用“学生”,那么您可以这样做:

  1. 首先备份您的数据库,确保您可以从它恢复(到另一个不同的数据库)
  2. 更新django模型的python代码
  3. 让django创建新表(用于重命名的模型): python manage.py
  4. 将数据从旧表复制到新表: echo‘插入到客户选择id、名称、性别、类型(状态为char),从学生创建;’\\ python manage.py dbshell

但是,如果您有引用旧表的其他模型,使用外键或多个关系,那么上面的内容将无法工作,因为这些其他模型的数据库模式中可能有对旧表的引用。如果这是你的案子,你可以试试这个:

  1. 把你所有的模型都扔给json python -缩进4> manage.py everything.json
  2. 更新django模型
  3. 让Django创建新表(用于重命名的模型): python manage.py
  4. 手动编辑json文件,将模式"model": "yourapp.student"替换为"model": "yourapp.costumer"。您可能需要做其他替换,这取决于您的模型和它们之间的关系。
  5. 重新装入json python负载数据

对于未来,请看@mangobug的答案,然后开始使用django-south

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10607923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档