翼度科技»论坛 编程开发 python 查看内容

测试开发-后端开发do实体类创建

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
创建user表实体类

  • 新增do目录下创建user_entity.py和init.py
  1. from sqlalchemy import Integer
  2. from server import db
  3. """
  4. User表的实体类,与DB字段一致
  5. """
  6. class UserEntity(db.Model):
  7.     # 表名, 需要重新命名,默认按类名来创建表名
  8.     __tablename__ = "user"
  9.     # 唯一主键ID
  10.     id = db.Column(Integer,primary_key=True)
  11.     # 用户名,唯一,不可为空
  12.     username = db.Column(db.String(64), nullable=False, unique=True)
  13.     # 密码,不为空
  14.     password = db.Column(db.String(128), nullable=False)
  15.     def user_entity_dict(self):
  16.         return {"id": self.id, "username": self.username, "password": self.password}
复制代码

  • 在do的init.py文件写入create_all()方法来初始化创建表
  1. from server import db
  2. from do.user_entity import UserEntity   # 倒入要执行的实体类包
  3. """
  4.     数据库表创建,运行文件创建
  5.     注意:创建一次后,就可以注释掉,避免之后每次启动项目都创建
  6. """
  7. if __name__ == "__main__":
  8.     db.create_all()
复制代码

  • 执行创建表
  1. /usr/local/bin/python3.8 /Applications/Python/TestPlatform/api_test_platform_demo/backend/do/__init__.py
  2. 2023-07-04 00:38:57,648 INFO sqlalchemy.engine.Engine SELECT DATABASE()
  3. 2023-07-04 00:38:57,648 INFO sqlalchemy.engine.Engine [raw sql] {}
  4. 2023-07-04 00:38:57,661 INFO sqlalchemy.engine.Engine SELECT @@sql_mode
  5. 2023-07-04 00:38:57,661 INFO sqlalchemy.engine.Engine [raw sql] {}
  6. 2023-07-04 00:38:57,667 INFO sqlalchemy.engine.Engine SELECT @@lower_case_table_names
  7. 2023-07-04 00:38:57,668 INFO sqlalchemy.engine.Engine [raw sql] {}
  8. 2023-07-04 00:38:57,679 INFO sqlalchemy.engine.Engine BEGIN (implicit)
  9. 2023-07-04 00:38:57,680 INFO sqlalchemy.engine.Engine SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = %(table_schema)s AND table_name = %(table_name)s
  10. 2023-07-04 00:38:57,680 INFO sqlalchemy.engine.Engine [generated in 0.00026s] {'table_schema': 'testplatform', 'table_name': 'user'}
  11. 2023-07-04 00:38:57,689 INFO sqlalchemy.engine.Engine
  12. CREATE TABLE user (
  13.         id INTEGER NOT NULL AUTO_INCREMENT,
  14.         username VARCHAR(64) NOT NULL,
  15.         password VARCHAR(128) NOT NULL,
  16.         PRIMARY KEY (id),
  17.         UNIQUE (username)
  18. )
  19. 2023-07-04 00:38:57,689 INFO sqlalchemy.engine.Engine [no key 0.00021s] {}
  20. 2023-07-04 00:38:57,773 INFO sqlalchemy.engine.Engine COMMIT
  21. Process finished with exit code 0
复制代码

  • 查看数据库中是否创建成功

user表以及字段创建成功啦,以此类推所有的实体类一次性写好一起创建

来源:https://www.cnblogs.com/hnfangh/p/17524587.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具