django迁移之后数据库如何新建(django项目迁移到另一台电脑)

网友投稿 621 2023-12-13

导读:本篇文章首席CTO笔记来给大家介绍有关django迁移之后数据库如何新建的相关内容,希望对大家有所帮助,一起来看看吧 django怎样自动创建数据库table;django创建数据库表方法如下:catcher:mysite catcher$ python manage.py makemigrations books

django迁移之后数据库如何新建(django项目迁移到另一台电脑)

Migrations for books:  0001_initial.py:    - Create model Author    - Create model Book    - Create model Publisher

    - Add field publisher to bookcatcher:mysite catcher$ python manage.py sqlmigrate books 0001BEGIN;

---- Create model Author--CREATE TABLE "books_author" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "first_name" varchar(30) NOT NULL, "last_name" varchar(40) NOT NULL, "email" varchar(254) NOT NULL);

---- Create model Book--CREATE TABLE "books_book" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(100) NOT NULL, "publication_date" date NOT NULL);

CREATE TABLE "books_book_authors" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "book_id" integer NOT NULL REFERENCES "books_book" ("id"), "author_id" integer NOT NULL REFERENCES "books_author" ("id"));

---- Create model Publisher--CREATE TABLE "books_publisher" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "address" varchar(50) NOT NULL, "city" varchar(60) NOT NULL, "state_province" varchar(30) NOT NULL, "country" varchar(50) NOT NULL, "website" varchar(200) NOT NULL);

---- Add field publisher to book--ALTER TABLE "books_book" RENAME TO "books_book__old";CREATE TABLE "books_book" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(100) NOT NULL, "publication_date" date NOT NULL, "publisher_id" integer NOT NULL REFERENCES "books_publisher" ("id"));

INSERT INTO "books_book" ("publication_date", "publisher_id", "id", "title") SELECT "publication_date", NULL, "id", "title" FROM "books_book__old";

DROP TABLE "books_book__old";CREATE INDEX "books_book_2604cbea" ON "books_book" ("publisher_id");COMMIT;

catcher:mysite catcher$catcher:mysite catcher$ sudo python manage.py migratePassword:Operations to perform:  Apply all migrations: admin, contenttypes, books, auth, sessionsRunning migrations:  Rendering model states... DONE  Applying contenttypes.0001_initial... OK  Applying auth.0001_initial... OK  Applying admin.0001_initial... OK  Applying admin.0002_logentry_remove_auto_add... OK  Applying contenttypes.0002_remove_content_type_name... OK  Applying auth.0002_alter_permission_name_max_length... OK  Applying auth.0003_alter_user_email_max_length... OK  Applying auth.0004_alter_user_username_opts... OK  Applying auth.0005_alter_user_last_login_null... OK  Applying auth.0006_require_contenttypes_0002... OK  Applying auth.0007_alter_validators_add_error_messages... OK  Applying books.0001_initial... OK  Applying sessions.0001_initial... OKcatcher:mysite catcher$

关于DJANGO连接数据库和创建模型问题创建数据库选择开始菜单中→程序→【Management *** 2008】→【*** Management Studio】命令,打开【*** Management Studio】窗口,并使用Windows或 ***身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。

django使用已有的数据库表怎么建立model在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。

了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表假如在Django存在models如下:[python] view plain copyfrom django.db import models

# Create your models here.class Sciencenews(models.Model):id = models.CharField(max_length=36,primary_key=True)

first_module = models.CharField(max_length=30,default="News")second_module = models.CharField(max_length=30,default="Latest News")

title = models.CharField(max_length=300)author = models.CharField(max_length=60,null=True)publish_date = models.CharField(max_length=35,null=True)

content = models.TextField(null=True)crawl_date = models.CharField(max_length=35,null=True)from_url = models.CharField(max_length=350,null=True)

执行数据迁移命令:[python] view plain copypython manage.py makemigrationpython manage.py migrate会在数据库中生成名称为show_sciencenews的数据表。

show为应用名称,此处我的应用名称为show可以看到Django创建表的命名规则:应用名_模型名我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。

然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了接下来只需要正常使用models和数据表就可以了django1.8更改了model后要怎样重建数据库

使用命令: py manage.py makemigrations py manage.py migrate结语:以上就是首席CTO笔记为大家整理的关于django迁移之后数据库如何新建的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django迁移之后数据库如何新建的相关内容别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:django配置什么数据库?
下一篇:云原生微服务,解析未来应用发展的突破之道
相关文章