Django修改model如何同步数据库
2012-05-21 13:16
726 查看
1。首次创建model
在第一次新建model的时候,可以以下命令实现数据库和工程里的model同步。
执行过程如下:(前提啊!!!一定要自己创建一个数据库onlineShop,并在工程的settings.py里配置好,测试通过哦,不然这些命令找不到database)
事实上,第一次创建的时候还会创建一些系统表,在HeidiSql中查看创建的表的情况:
2.中途修改model
随着需求的变动,model被修改的概率是大大的。但是之前的syncdb命令,已经不能满足需要了。
这里必须使用sql本身的命令来完成,但是Django为我们提供了dbshell借口完成此类的model更新操作:
注意:上述使用的是sqlite数据库,若是使用mysql数据库, 请保证mysql的路径加到system的path里去。
如果不想使用dbshell,借助于Heidisql等可视化工具,找到对应的表如,对表写query语句执行,也能达到效果。
补充一下: 如何保存sqlall的语句到本地(dos重定向命令):
在第一次新建model的时候,可以以下命令实现数据库和工程里的model同步。
执行过程如下:(前提啊!!!一定要自己创建一个数据库onlineShop,并在工程的settings.py里配置好,测试通过哦,不然这些命令找不到database)
事实上,第一次创建的时候还会创建一些系统表,在HeidiSql中查看创建的表的情况:
2.中途修改model
随着需求的变动,model被修改的概率是大大的。但是之前的syncdb命令,已经不能满足需要了。
这里必须使用sql本身的命令来完成,但是Django为我们提供了dbshell借口完成此类的model更新操作:
1. 使用sqlall查看模型新的 CREATE TABLE 语句。 查看新创建的字段: $ python manage.py sqlall depotapp BEGIN; CREATE TABLE "depotapp_product" ( "id" integer NOT NULL PRIMARY KEY, "title" varchar(100) NOT NULL UNIQUE, "description" text NOT NULL, "image_url" varchar(200) NOT NULL, "price" decimal NOT NULL, "date_available" date NOT NULL ) ; COMMIT; 2. 使用数据库命令行工具,或客户端工具,或者django提供的dbshell工具增加字段: $ python manage.py dbshell sqlite> begin; sqlite> alter table depotapp_product add column date_available date not null default 0; sqlite> commit; 3. 验证数据库: $ python manage.py shell >>> from depot.depotapp.models import Product >>> Product.objects.all() 如果没有异常发生,则可以在发布环境进行上述修改。 以上是在模型中增加一个属性的步骤。其他对模型的修改可能还有: 删除字段——drop column 删除模型——drop table 删除多对多关联——drop table (自动生成的关联表) 也需要参考上述的步骤进行。
注意:上述使用的是sqlite数据库,若是使用mysql数据库, 请保证mysql的路径加到system的path里去。
如果不想使用dbshell,借助于Heidisql等可视化工具,找到对应的表如,对表写query语句执行,也能达到效果。
补充一下: 如何保存sqlall的语句到本地(dos重定向命令):
相关文章推荐
- Django 修改model后同步修改数据库
- django model改变后,同步数据库
- django修改models.py后同步更新到数据库
- Django中的一些同步Model和数据库的命令
- Django中的一些同步Model和数据库的命令
- django安全小措施--如何禁用掉在模板中修改和删除数据库
- django 模型model与数据库3——高级操作(外联,多对多,修改字段)
- Django之modelform修改数据库
- django如何将修改好的新模型写入数据库
- django models 增加字段(或新表)后如何同步到数据库
- SAE如何线上执行Django的“manage.py syncdb”来同步数据库
- Django中的一些同步Model和数据库的命令
- Django中的一些同步Model和数据库的命令
- django中使用south同步对model的修改
- 如何修改数据库表的创建时间
- 数据库:django ORM如何处理N+1查询
- 如何在非同步Postback过程中修改位于UpdatePanel外的控件内容
- QT QSqlTabModel 学习,用于从数据库中存取修改等操作。
- 如何在非同步Postback过程中修改位于UpdatePanel外的控件内容
- 如何修改数据库时区