When I try using resultsdb with postgres, I get sqlalchemy errors like:
LINE 1: ...me, end_time, ref_url, name) VALUES ('SCHEDULED', 0, 0, 'htt... ^ HINT: You will need to rewrite or cast the expression. 'INSERT INTO job (status, start_time, end_time, ref_url, name) VALUES(%(status)s, %(start_time)s, %(end_time)s, %(ref_url)s, %(name)s) RETURNING job.id' {'status': 'SCHEDULED', 'ref_url': 'http://example.com/someref', 'end_time': 0, 'start_time': 0, 'name': None}
Fix the issues with resultsdb schema so that it works with postgres
This ticket is a duplicate of https://pagure.io/taskotron/resultsdb/issue/6
This ticket had assigned some Differential requests: D61
The root issue appears to be in resultsdb/models/results.py: class Job(db.Model, DBSerialize):
resultsdb/models/results.py
id = db.Column(db.Integer, primary_key = True) status = db.Column(db.Enum(*JOB_STATUS, name='jobstatus')) start_time = db.Column(db.DateTime, default = 0) end_time = db.Column(db.DateTime, default = 0) ref_url = db.Column(db.Text) name = db.Column(db.Text)
postgres doesn't like the default of 0 for the two time columns. I suspect that removing the default and having the default as null would work here but I only tested it with sqlite.
Please test this with postgres and make sure that there are no other schema compatibility issues that worked with mysql.
Closed by commit rRSDBba16b5c0e56c.