基於python flask的自動化測試平臺(一)--建立資料庫
阿新 • • 發佈:2018-12-21
說實話對於建立資料庫的原理我也不太懂,我只能把其他人的例子搬運過來然後自己進行修改成自己需要的樣子
一、建立配置檔案 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 '<User %r>' % (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 '<Case %r>' % (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 '<Module %r>' % (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 '<Project %r>' % (self.project_name)
五、建立資料庫的基本工作完成了,現在執行app\database\db_creat.py這個指令碼來建立資料庫
執行完成後在根目錄下會新增了一個db檔案
用Navicat開啟這個db檔案檢視
到此,資料庫算是建立完成了,準備工作也差不多完成了,下一步就是開始前後端的程式開發了。