python数据库迁移命令_创建和进行数据库迁移,同步数据库
爱情祝福语
python数据库迁移命令_创建和进⾏数据库迁移,同步数据库模型(model)建好后,django可以根据这个模型(model)在数据库中创建⼀张数据表格。
Django⾃带⼀个数据库迁移(migration)系统来跟踪对模型(models)的修改,然后同步到数据库。
migrate命令会应⽤到所有在INSTALLED_APPS中的应⽤。
它会根据当前的模型(models)和数据库迁移(migrations)来同步数据库。
⾸先,创建⼀个数据库迁移(migration)。
在项⽬主⽬录下,执⾏以下命令:
我国珍稀植物python manage.py makemigrations blog
你会看到以下输出:
Migrations for 'blog':
0001_initial.py;
- Create model Post
Django在blog应⽤下的migrations⽬录中创建了⼀个0001——initial.py⽂件。
可以打开这个⽂件查看数据库迁移的内容。
也可以使⽤sqlmigrate命令查看数据库情况。
运⾏以下命令:
python manage.py sqlmigrate blog 0001
输出如下:
BEGIN;
CREATE TABLE
"blog_post" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"title" varchar(250) NOT NULL, "slug" varchar(250) NOT NULL, "body"
text NOT NULL, "publish" datetime NOT NULL, "created" datetime NOT
NULL, "updated" datetime NOT NULL, "status" varchar(10) NOT NULL,
"author_id" integer NOT NULL REFERENCES "auth_user"
青春随想作文
("id"));
CREATE INDEX
"blog_post_2dbcba41" ON "blog_post" ("slug");
扫黑风暴孙红雷是反派吗CREATE INDEX
"blog_post_4f331e2f" ON "blog_post" ("author_id");
COMMIT;
以上SQL语句是为SQLite数据库准备的。
Django⽣成的表名前缀为应⽤名之后跟上模型(model)的⼩写(blog_post),也可以通过在模型(models)的Meta类中使⽤db_table属性来指定表名。
怎么去抬头纹
Django会⾃动为每个模型(model)创建⼀个主键,也可以通过在模型(model)中的某个字段上设置primarry_key=True来指定主键。
让我们根据新模型(model)来同步数据库。
运⾏以下的命令来应⽤已存在的数据迁移(migrations):
python manage.py migrate
你应该会看到以下⾏跟在输出的末尾:
金发晶
Applying blog. OK
我们刚刚为INSTALLED_APPS中所有的应⽤进⾏了数据库迁移(migrations),包括我们的blog应⽤。
在进⾏了数据库迁移(migrations)之后,数据库会反映我们模型的当前状态。
如果因为添加,删除,或是改变了存在的模型(models)中的字段,或者添加了新的模型(models)⽽编辑了models.py⽂件,都需要通过使⽤makemigrations命令做⼀次新的数据库迁移(migration)。
数据库迁移(migration)允许Django来保持对模型(model)改变的跟踪。
之后必须通过migrate命令来保持数据库与模型(models)同步。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。