基于python flask的自动化测试平台(一)--创建数据库

说实话对于创建数据库的原理我也不太懂,我只能把其他人的例子搬运过来然后自己进行修改成自己需要的样子

原文请参考http://www.pythondoc.com/flask-mega-tutorial/database.html

一、创建配置文件 aoto_test\config.py

import os
CSRF_ENABLED = True
SECRET_KEY = 'ha-ha-ha'


basedir = os.path.abspath(os.path.dirname(__file__))

SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir,'app.db')
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir,'db_repository')

二、创建app\database\db_create.py 用来创建数据库

from migrate.versioning import api
from config import SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO
from app import db
import os.path
db.create_all()

if not os.path.exists(SQLALCHEMY_MIGRATE_REPO):
    api.create(SQLALCHEMY_MIGRATE_REPO, 'database repository')
    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
else:
    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO))

 

三、修改app\__init__.py文件

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
from configs import basedir

app = Flask(__name__)
app.config.from_object('configs')
db = SQLAlchemy(app)

from app import views, models

主要是增加数据库的配置一遍应用启动的时候可以连接到数据库

四、创建数据库模型,也就是各个表,这里我根据自己的需要设计了平台所需要的几张表个app\models.py

from app import db

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    username = db.Column(db.String(64), index=True, unique=True)
    password = db.Column(db.String(128))

    is_authenticated = True  # 判断用户是否登陆

    is_active = True

    is_anonymous = True

    def __repr__(self):
        return '' % (self.nickname)


class Case(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(32))
    ways = db.Column(db.String(100))
    request_method = db.Column(db.String(32))
    data_type = db.Column(db.String(32))
    data = db.Column(db.String(250))
    check = db.Column(db.String(100))
    creation_date = db.Column(db.String(32))
    org_id = db.Column(db.Integer)
    module_id = db.Column(db.Integer)
    is_succ = db.Column(db.Integer)

    def __init__(self,name,ways,request_method,data_type,data,check,creation_date,org_id,module_id,is_succ):
        self.name = name
        self.ways = ways
        self.request_method = request_method
        self.data_type = data_type
        self.data = data
        self.check = check
        self.creation_date = creation_date
        self.org_id = org_id
        self.module_id = module_id
        self.is_succ = is_succ

    def __repr__(self):
        return '' % (self.name)

class Module(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    module_name = db.Column(db.String(32))
    creator = db.Column(db.String(32))
    org_id = db.Column(db.Integer)

    def __init__(self,module_name,creator,org_id):
        self.module_name = module_name
        self.creator = creator
        self.org_id = org_id

    def __repr__(self):
        return '' % (self.module_name)

class Project(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    project_name = db.Column(db.String(32))
    creator = db.Column(db.String(32))

    def __init__(self,project_name,creator):
        self.project_name = project_name
        self.creator = creator

    def __repr__(self):
        return '' % (self.project_name)

五、创建数据库的基本工作完成了,现在执行app\database\db_creat.py这个脚本来创建数据库

执行完成后在根目录下会新增了一个db文件基于python flask的自动化测试平台(一)--创建数据库_第1张图片

用Navicat打开这个db文件查看

基于python flask的自动化测试平台(一)--创建数据库_第2张图片

到此,数据库算是创建完成了,准备工作也差不多完成了,下一步就是开始前后端的程序开发了。

你可能感兴趣的:(接口自动化,测试开发)