先使用sql创建表,再使用sqlalchemy进行映射
1.由于表已经创建好,所以在写sqlalchemy映射类时,不需要和SQL一样指定的非常细致,主要指明类型即可
1.SQL
CREATE TABLE `user_basic` (
`user_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`mobile` char(11) NOT NULL COMMENT '手机号',
PRIMARY KEY (`user_id`),
UNIQUE KEY `mobile` (`mobile`),
UNIQUE KEY `user_name` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户基本信息表';
2.SQLAlchemy
class User(db.Model):
__tablename__ = 'user_basic' # 如果不希望使用类名`User`则需要重新定义
id = db.Column('user_id', db.Integer,doc='用户ID') # 如果不希望使用变量名`id`作为表名,第一个参数需传入新的参数
mobile = db.Column(db.String, doc='手机号') # doc是sqlalchemy设置的,和SQL中的`COMMENT`没有关系