Support SQLAlchemy 0.8.0+ and SQLAlchemy-Migrate 0.9.0+. Backport of
relevant bits of this commit which went into 0.9.0b7:
https://github.com/buildbot/buildbot/commit/074c9fbadf169bb6cbc4fe2176be429a44170794
--- buildbot/db/enginestrategy.py
+++ buildbot/db/enginestrategy.py
@@ -187,7 +187,7 @@ class BuildbotEngineStrategy(strategies.ThreadLocalEngineStrategy):
             version_digits = re.sub('[^0-9.]', '', version)
             version_tup = tuple(map(int, version_digits.split('.')))
         except TypeError:
-            pass
+            return  # unparseable -- oh well
 
         if version_tup < (0, 6):
             raise RuntimeError("SQLAlchemy version %s is too old" % (version,))
--- setup.py.orig	2016-08-09 03:24:15.000000000 -0500
+++ setup.py	2021-03-03 01:51:32.000000000 -0600
@@ -387,11 +387,8 @@
         ]
 
     setup_args['install_requires'] += [
-        # sqlalchemy-0.8 betas show issues with sqlalchemy-0.7.2, so stick to 0.7.10
-        'sqlalchemy >= 0.6, <= 0.7.10',
-        # buildbot depends on sqlalchemy internals, and this is the tested
-        # version.
-        'sqlalchemy-migrate==0.7.2',
+        'sqlalchemy>=0.8.0',
+        'sqlalchemy-migrate>=0.9',
         'python-dateutil>=1.5',
     ]
     setup_args['tests_require'] = [
