flask ORM创建

安装SQLAlchemy  
pip3 install sqlalchemy
Flask需要使用 flask-sqlalchemy 支持包    
pip3 install flask-sqlalchemy

创建数据库

create database flask default charset utf8 collate utf8_general_ci;

配置连接数据库

app.config['SQLALCHEMY_DATABASE_URI']="mysql://用户名:密码@数据库服务器地址:端口号/数据库名称"
app.config['SQLALCHEMY_DATABASE_URI']="mysql://root:123456@localhost:3306/flask"
创建SQLAlchemy的实例
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
在程序中通过 db 操作数据库


定义模型:

class MODELNAME(db.Model):
      __tablename__ = "TABLENAME"#可以不写,默认表名将类名小写
      COLUMN_NAME = db.Column(db.TYPE,OPTIONS)#属性名,对应表中列名

TYPE类型: 

类型名       python类型    
Integer int
SmallInteger int
BigInteger int
Float float
String str
Text str
Boolean bool
Date datetime.date
Time datetime.time
DateTime datetime.datetime

OPTIONS:   
选项名             说明
autoincrement 如果设置为True表示该列要自增长
primary_key 如果设置为True表示该列为主键
unique 如果设置为True表示该列的值唯一
index 如果设置为True表示该列的值加索引
nullable 如果设置为True表示该列允许为空
default 指定该列的默认值
迁移:一般不用这两种
将实体类创建到数据库:db.create_all()
将所有的数据表全部删除:db.drop_all()

迁移

用manager启动项目:

from flask_script import Manager
manager = Manager(app)
manager.run()

定义好模型之后迁移模型映射回数据库:

from flask_migrate import Migrate,MigrateCommand
migrate = Migrate(app,db)
manager.add_command('db',MigrateCommand)

命令行输入:

初始化数据库,只执行一次

python3 xxx.py db init

生成中间文件

python3 xxx.py db migrate

映射回数据库

python3 xxx.py db upgrade

猜你喜欢

转载自www.cnblogs.com/pfeiliu/p/11932172.html