Django框架下使用model来操作数据对象。刚接触过程中,对makemigration 和 migrate有些不解,在此总结下。
makemigration生成ddl语句,migrate执行ddl语句。
详见如下例子。
(virtual) E:\virtual\myapp>python manage.py makemigrations
Did you rename person.firtst_name to person.first_name (a CharField)? [y/N] y
Migrations for 'app1':
app1\migrations\0002_auto_20180530_2323.py
- Create model Album
- Create model Musician
- Rename field firtst_name on person to first_name
- Add field artist to album
(virtual) E:\virtual\myapp>python manage.py sqlmigrate app1 0002
BEGIN;
--
-- Create model Album
--
CREATE TABLE "app1_album" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(100) NOT NULL, "release_date" date NOT NULL, "num_stars" integer NOT NULL);
--
-- Create model Musician
--
CREATE TABLE "app1_musician" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "first_name&