NFT项目开发日志(1)——数据库设计——2021.5.8
2021/5/9 2:25:24
本文主要是介绍NFT项目开发日志(1)——数据库设计——2021.5.8,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
NFT项目开发日志(1)——数据库设计
- 一丶环境配置:python-flask
- 二丶数据库设计
- 三丶实现
- 1.在蓝本(blueprint)下面创建scyner模板
- 2.创建scyner模板后会在其下自动生成一个__init__.py文件(空文件)
- 3.在scyner模板下创建一个models.py文件(数据操作)
- (1)数据表
- (2)表之间的关系
- (1)封装式建表
- A.导入模板
- B.建表
- (2)直接建表(db.Model)
- 4.在scyner模板下创建一个scyner.py文件(其他操作)
- (1)导入相关模板
- (2)创建蓝本
- (3)编写路由
- 5.修改蓝本同级目录下的__ini__.py文件
- (1)导入模板
- (2)注册蓝本(找到def register_blueprints(app)方法)
一丶环境配置:python-flask
二丶数据库设计
三丶实现
1.在蓝本(blueprint)下面创建scyner模板
2.创建scyner模板后会在其下自动生成一个__init__.py文件(空文件)
3.在scyner模板下创建一个models.py文件(数据操作)
(1)数据表
- chain
- block
- transaction
- contract
- contract_templat
- event
(2)表之间的关系
- chain 1:n block
- block 1:n transaction
- contract 1:n transaction
- contract_templat 1:n contract
- transaction 1:n event
(1)封装式建表
A.导入模板
from 文件名.database import ( Column, Model, SurrogatePK, db, reference_col, relationship, )
B.建表
class Chain(SurrogatePK, Model): __tablename__ = "chain" name = Column(db.String(88), nullable=False) config = Column(db.JSON, default={}, nullable=False) height = Column(db.Integer(), nullable=False) inserted_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow) updated_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
(2)直接建表(db.Model)
class Chain(db.Model): __tablename__ = "chain" id = db.Column(db.Integer(), nullable=False, primary_key=True) name = db.Column(db.String(88), nullable=False) config = db.Column(db.JSON, default={}, nullable=False) height = db.Column(db.Integer(), nullable=False) inserted_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow) updated_at = Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
4.在scyner模板下创建一个scyner.py文件(其他操作)
(1)导入相关模板
(2)创建蓝本
syncer_bp = Blueprint("syncer", __name__, url_prefix="/syncer", static_folder="../static")
(3)编写路由
5.修改蓝本同级目录下的__ini__.py文件
(1)导入模板
from 文件名.blueprints.syncer.syncer import syncer_bp
(2)注册蓝本(找到def register_blueprints(app)方法)
app.register_blueprint(syncer_bp, url_prefix='/syncer')
这篇关于NFT项目开发日志(1)——数据库设计——2021.5.8的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-01一个基于注解驱动的可视化的DDD架构-超越COLA的设计
- 2025-01-01PlantUML 时序图 基本例子
- 2025-01-01plantuml 信号时序图
- 2025-01-01聊聊springboot项目如何优雅进行数据校验
- 2024-12-31自由职业者效率提升指南:3个时间管理技巧搞定多个项目
- 2024-12-31适用于咨询行业的项目管理工具:提升跨团队协作和工作效率的最佳选择
- 2024-12-31高效协作的未来:2024年实时文档工具深度解析
- 2024-12-31商务谈判者的利器!哪 6 款办公软件能提升春节合作成功率?
- 2024-12-31小团队如何选择最实用的项目管理工具?高效协作与任务追踪指南
- 2024-12-31数据赋能,智慧养老:看板软件如何重塑养老服务生态