一.flask-migrate
1.功能
flask—migrate是flask的一个扩展模块,主要是扩展数据库表结构的。
2.安装
切换到自己的解释其环境,执行下面命令即可安装
pip install flask-migrate
二.flask-script
1.功能
flask-script作用:可以通过命令行的形式来操作flask,例如通过命令跑一个开发版本的服务器,设置数据库,定时任务等
2.常用方法
这些都是在shell里执行的。(一般我们常用前三个用法)。这里的manager.py不是一成不变的,需要根据你的文件名称而定。这里就和数据库连接起来了
开启数据库
systemctl start mariadb
初始化数据库,会创建一个migations文件夹,并且会在数据库生成一个alembic_version表
执行命令
python3 manager.py db init
这里我用的是python3解释器
三.数据库的创建及其特性
这里代码第4行中
root westos 是我的电脑的用户名和密码 localhost代表本机
Student1代表数据库名称,必须是已经存在的数据库,数据库第一个字母要大写
__tablename__是强调生成数据库表的名称,此处为students1;如果不强调,默认是类名称,为student
db.create_all( )意为生成数据库
添加内容u1
在数据库中我们可以看到表的三个属性
表的内容如下
如果要给表添加另一种属性比如 sss
则在代码添加
sss=db.Column(db.String(50) )
再次执行代码
之后执行下面名为script.py的代码
建立一个仓库
此代码是同步补充属性代码
在shell里完成更新
python3 scripts.py db init
python3 scripts.py migrate -m "sss"
python3 scripts.py upgrade
这是数据库的迁移和更新操作
python3 script.py downgrade base 返回最开始状态
出现如下图内容即为更新成功
出现一个文件
然后我们在数据库中查看
4.多种方式实现命令行管理命令
代码如下
返回结果如下
在shell里执行命令检测,此代码文件名为flask1.py
如果不给密码的话,默认密码为None
5.命令行管理数据库
代码如下
返回如下
这里我们看到多了showuser 和 add__role函数
检测
这里我又创建了westos用户
注意:此处的类名必须和表名相同,即表名默认为类名才可以,否则报错
执行
python3 script.py showuser 时
会显示student1 和 student2 ,表明有两个用户