数据库迁移
使用场景,当需要修改定义的数据库中表的数据时,就可以利用aerich进行迁移改动
例如
class Asset(models.Model):aid = fields.CharField(max_length=50, pk=True)asset_name = fields.CharField(max_length=150)target_name = fields.CharField(max_length=150)url = fields.CharField(max_length=500)ip = fields.CharField(max_length=250)port = fields.CharField(max_length=50)pid = fields.CharField(max_length=50)project = fields.ForeignKeyRelation('models.Project', related_name='assets')
这是一个orm映射的类,现在希望给类添加几个字段,同时同步到数据库中的表中
这个时候就可以用到aerich工具
安装
pip install aerich
初始化配置信息
根据此消息可以使用aerich读取对应的数据库信息
aerich init -t app.config.TORTOISE_ORM
然后如果是第一次使用的话需要使用此命令
aerich init-db
初始化
然后修改类
class Asset(models.Model): aid = fields.CharField(max_length=50, pk=True)asset_name = fields.CharField(max_length=150)target_name = fields.CharField(max_length=150)url = fields.CharField(max_length=500)ip = fields.CharField(max_length=250)port = fields.CharField(max_length=50)cms = fields.CharField(max_length=250)res = fields.CharField(max_length=250)vul_type = fields.CharField(max_length=50)pid = fields.CharField(max_length=50)project = fields.ForeignKeyRelation('models.Project', related_name='assets')
使用下面命令追踪表变化
aerich migrate
最后执行对应的表变化
aerich upgrade