class Base:
id = db.Column(db.Integer, primary_key=True)
deleted = db.Column(db.String(2), default='00', nullable=False)
created_at = db.Column(db.DateTime, default=sqlalchemy.func.now(), nullable=False)
updated_at = db.Column(db.DateTime, default=sqlalchemy.func.now(), onupdate=sqlalchemy.func.now(), nullable=False)
# 添加一条数据
def save(self):
try:
db.session.add(self)
db.session.commit()
except BaseException:
db.session.rollback()
class Api(Base, db.Model):
method = db.Column(db.String(10), nullable=False)
name = db.Column(db.String(50), nullable=False)
url = db.Column(db.String(100), unique=True, nullable=False)
body = db.Column(db.TEXT, nullable=False)
project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
__table_args__ = (
db.UniqueConstraint('name', 'deleted', name='uix_api_name_deleted'),
)
def __init__(self, method='', name='', url='', body='', project_id=1000):
self.method = method
self.name = name
self.url = url
self.body = body
self.project_id = project_id
def __repr__(self):
return self.name + "......" + self.url
结果:
(mockenv) E:\技术资料\接口框架\MockServer-master>python manage.py db migrate
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate.compare] Detected added unique constraint ‘uix_api_name_deleted’ on ‘[‘name’, ‘deleted’]’
INFO [alembic.autogenerate.compare] Detected removed index ‘deleted’ on ‘api’
INFO [alembic.autogenerate.compare] Detected removed index ‘deleted_2’ on ‘api’