|
@@ -8,12 +8,20 @@ import json
|
|
|
from sqlalchemy.dialects.postgresql import DOUBLE_PRECISION
|
|
|
|
|
|
#
|
|
|
-# Handling dialects
|
|
|
+# Handling sclalchemy dialects
|
|
|
#
|
|
|
-double_field = db.Float
|
|
|
-dialect = re.search(r'\((\w+)', str(db.get_engine()).lower())
|
|
|
-if dialect and dialect.group(1) == 'postgresql':
|
|
|
- double_field = DOUBLE_PRECISION
|
|
|
+dialect = re.search(r'(?<=\()\w+', str(db.get_engine()).lower())
|
|
|
+# bynary fields
|
|
|
+if dialect.group() == 'mysql':
|
|
|
+ from sqlalchemy.dialects.mysql import BINARY
|
|
|
+else:
|
|
|
+ BINARY = db.LargeBinary
|
|
|
+# double precision
|
|
|
+if dialect and dialect.group() == 'postgresql':
|
|
|
+ from sqlalchemy.dialects.postgresql import DOUBLE_PRECISION
|
|
|
+else:
|
|
|
+ DOUBLE_PRECISION = db.Float
|
|
|
+
|
|
|
|
|
|
#
|
|
|
# UUID as bytes
|
|
@@ -52,26 +60,26 @@ def load_user(id):
|
|
|
|
|
|
testrun_casesequence = db.Table(
|
|
|
'testrun_casesequence',
|
|
|
- db.Column('testrun_id', db.LargeBinary(16), db.ForeignKey('testruns.id'), primary_key=True),
|
|
|
- db.Column('testcase_sequence_id', db.LargeBinary(16), db.ForeignKey('testcase_sequences.id'), primary_key=True)
|
|
|
+ db.Column('testrun_id', BINARY(16), db.ForeignKey('testruns.id'), primary_key=True),
|
|
|
+ db.Column('testcase_sequence_id', BINARY(16), db.ForeignKey('testcase_sequences.id'), primary_key=True)
|
|
|
)
|
|
|
|
|
|
testcase_sequence_datafile = db.Table(
|
|
|
'testcase_sequence_datafile',
|
|
|
- db.Column('testcase_sequence_id', db.LargeBinary(16), db.ForeignKey('testcase_sequences.id'), primary_key=True),
|
|
|
- db.Column('datafile_id', db.LargeBinary(16), db.ForeignKey('datafiles.id'), primary_key=True)
|
|
|
+ db.Column('testcase_sequence_id', BINARY(16), db.ForeignKey('testcase_sequences.id'), primary_key=True),
|
|
|
+ db.Column('datafile_id', BINARY(16), db.ForeignKey('datafiles.id'), primary_key=True)
|
|
|
)
|
|
|
|
|
|
testcase_sequence_case = db.Table(
|
|
|
'testcase_sequence_case',
|
|
|
- db.Column('testcase_sequence_id', db.LargeBinary(16), db.ForeignKey('testcase_sequences.id'), primary_key=True),
|
|
|
- db.Column('testcase_id', db.LargeBinary(16), db.ForeignKey('testcases.id'), primary_key=True)
|
|
|
+ db.Column('testcase_sequence_id', BINARY(16), db.ForeignKey('testcase_sequences.id'), primary_key=True),
|
|
|
+ db.Column('testcase_id', BINARY(16), db.ForeignKey('testcases.id'), primary_key=True)
|
|
|
)
|
|
|
|
|
|
testcase_stepsequence = db.Table(
|
|
|
'testcase_stepsequence',
|
|
|
- db.Column('testcase_id', db.LargeBinary(16), db.ForeignKey('testcases.id'), primary_key=True),
|
|
|
- db.Column('teststep_sequence_id', db.LargeBinary(16), db.ForeignKey('teststep_sequences.id'), primary_key=True)
|
|
|
+ db.Column('testcase_id', BINARY(16), db.ForeignKey('testcases.id'), primary_key=True),
|
|
|
+ db.Column('teststep_sequence_id', BINARY(16), db.ForeignKey('teststep_sequences.id'), primary_key=True)
|
|
|
)
|
|
|
|
|
|
|
|
@@ -86,7 +94,7 @@ class Testrun(db.Model):
|
|
|
__tablename__ = 'testruns'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -170,7 +178,7 @@ class TestCaseSequence(db.Model):
|
|
|
__tablename__ = 'testcase_sequences'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -257,7 +265,7 @@ class DataFile(db.Model):
|
|
|
__tablename__ = 'datafiles'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
filename = db.Column(db.String(64), nullable=False)
|
|
|
sheet = db.Column(db.String(32), nullable=False, default='data')
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -288,7 +296,7 @@ class TestCase(db.Model):
|
|
|
__tablename__ = 'testcases'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -369,7 +377,7 @@ class TestStepSequence(db.Model):
|
|
|
__tablename__ = 'teststep_sequences'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -437,7 +445,7 @@ class TestStepExecution(db.Model):
|
|
|
__tablename__ = 'teststep_executions'
|
|
|
|
|
|
# fields
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -446,7 +454,7 @@ class TestStepExecution(db.Model):
|
|
|
locator = db.Column(db.String(512), nullable=True)
|
|
|
optional = db.Column(db.Boolean, nullable=False, default=False)
|
|
|
# sa dialect
|
|
|
- timeout = db.Column(double_field(precision='5,2'), nullable=True)
|
|
|
+ timeout = db.Column(DOUBLE_PRECISION(precision='5,2'), nullable=True)
|
|
|
release = db.Column(db.String(64), nullable=True)
|
|
|
value = db.Column(db.String(1024), nullable=True)
|
|
|
value2 = db.Column(db.String(1024), nullable=True)
|
|
@@ -454,7 +462,7 @@ class TestStepExecution(db.Model):
|
|
|
editor_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True)
|
|
|
activity_type_id = db.Column(db.Integer, db.ForeignKey('activity_types.id'), nullable=False)
|
|
|
locator_type_id = db.Column(db.Integer, db.ForeignKey('locator_types.id'), nullable=True)
|
|
|
- teststep_sequence_id = db.Column(db.LargeBinary(16), db.ForeignKey('teststep_sequences.id'), nullable=True)
|
|
|
+ teststep_sequence_id = db.Column(BINARY(16), db.ForeignKey('teststep_sequences.id'), nullable=True)
|
|
|
|
|
|
# relashionships
|
|
|
creator = db.relationship('User', backref='created_teststeps', lazy='immediate', foreign_keys=[creator_id])
|
|
@@ -502,7 +510,7 @@ class TestStepExecution(db.Model):
|
|
|
#
|
|
|
class GlobalTestStepExecution(db.Model):
|
|
|
__tablename__ = 'global_teststep_executions'
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True, default=uuidAsBytes)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True, default=uuidAsBytes)
|
|
|
name = db.Column(db.String(64), nullable=False)
|
|
|
description = db.Column(db.String(512), nullable=False)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
@@ -511,7 +519,7 @@ class GlobalTestStepExecution(db.Model):
|
|
|
editor_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True)
|
|
|
activity_type_id = db.Column(db.Integer, db.ForeignKey('activity_types.id'), nullable=False)
|
|
|
locator_type_id = db.Column(db.Integer, db.ForeignKey('locator_types.id'), nullable=False)
|
|
|
- teststep_sequence_id = db.Column(db.LargeBinary(16), db.ForeignKey('teststep_sequences.id'), nullable=True)
|
|
|
+ teststep_sequence_id = db.Column(BINARY(16), db.ForeignKey('teststep_sequences.id'), nullable=True)
|
|
|
|
|
|
# relationships
|
|
|
creator = db.relationship('User', backref='created_global_teststeps', lazy='immediate', foreign_keys=[creator_id])
|
|
@@ -580,10 +588,10 @@ class LocatorType(db.Model):
|
|
|
|
|
|
class TestRunCall(db.Model):
|
|
|
__tablename__ = 'testrun_calls'
|
|
|
- id = db.Column(db.LargeBinary(16), primary_key=True)
|
|
|
+ id = db.Column(BINARY(16), primary_key=True)
|
|
|
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
|
|
|
creator_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
|
|
|
- testrun_id = db.Column(db.LargeBinary(16), db.ForeignKey('testruns.id'), nullable=False)
|
|
|
+ testrun_id = db.Column(BINARY(16), db.ForeignKey('testruns.id'), nullable=False)
|
|
|
|
|
|
# relationships
|
|
|
creator = db.relationship('User', backref='testruns_called', lazy='immediate', foreign_keys=[creator_id])
|