migrate 和makemigrations 命令
2024-10-17 04:56:25
在你改动了app下 models.py的内容之后执行下面的命令:
Python manger.py makemigrations
相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
你可以手动打开这个文件,看看里面是什么
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Person',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30)),
('age', models.IntegerField()),
],
),
]
在此之后执行命令
python manager.py migrate
将该改动作用到数据库文件,比如产生table之类
当makemigrations之后产生了0001_initial.py 文件,你可以查看下该migrations会对应于什么样子的SQL命令
python manger.py sqlmigrate appname 0001
大概是这个样子的:
hanli@ubuntu:~/PycharmProjects/learn_models$ python manage.py sqlmigrate people 0001
BEGIN;
--
-- Create model Person
--
CREATE TABLE "people_person" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "age" integer NOT NULL);
COMMIT;
最新文章
- 使用javax.servlet.http.Part类上传文件
- $(this)与this的区别
- HTML标签-【fieldset】-fieldset
- JSP内置对象---out内置对象
- JavaSE复习总结之集合(Collection)
- java 解决中文乱码
- 关于ASP.NET页面打印技术的总结【转】
- HTML页面定时跳转方法
- 12.Android之Tabhost组件学习
- awk 统计数据在文件中的出现次数
- Hive内表和外表的区别
- 无法找到AdbWinApi.dll问题解决 .
- [ An Ac a Day ^_^ ] CodeForces 680A Bear and Five Cards
- (中等) UESTC 360 Another LCIS ,线段树+区间更新。
- 4.在浏览器中解析XML
- Nim or not Nim? hdu3032 SG值打表找规律
- Phaser.js之简单的跑酷游戏
- (网页)AngularJS中【Error: [$rootScope:inprog]】的解决办法(转)
- duilib进阶教程 -- 在duilib中使用MFC (2)
- nginx配置文服
热门文章
- windows10使用vscode+cmake编译c++代码
- 【LeetCode】1137. N-th Tribonacci Number 解题报告(C++)
- 【LeetCode】520. Detect Capital 解题报告(Java & Python)
- 【LeetCode】551. Student Attendance Record I 解题报告(Java & Python)
- 【LeetCode】117. Populating Next Right Pointers in Each Node II 解题报告(Python)
- Cornfields(poj2019)
- C++单元测试框架gtest使用
- 前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)
- 洛谷1052——过河(DP+状态压缩)
- 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。