Mercurial > p > roundup > code
view tools/migrate-queries.py @ 7696:4af0d235b570
feat(db): support using postgresql service connection file
Add new service rdbms config option to set the service name to be used
with a postgresql service connection file.
This can be done using the PGSERVICE environment variable for a single
instance tracker server. For a multi-instance server this per-tracker
config option is needed.
Note that settings (host, user, (db)name...) in config.ini file will
override the service connection file setting. Also setting PGSERVICE
and service will use the service setting.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 07 Nov 2023 12:11:37 -0500 |
| parents | 64b05e24dbd8 |
| children | fed0f839c260 |
line wrap: on
line source
#! /usr/bin/env python ''' migrate-queries <instance-home> [<instance-home> *] Migrate old queries in the specified instances to Roundup 0.6.0+ by removing the leading ? from their URLs. 0.6.0+ queries do not carry a leading ?; it is added by the 0.6.0 templating, so old queries lead to query URLs with a double leading ?? and a consequent 404 Not Found. ''' from __future__ import print_function __author__ = 'James Kew <jkew@mediabright.co.uk>' import sys import roundup.instance if len(sys.argv) == 1: print(__doc__) sys.exit(1) # Iterate over all instance homes specified in argv. for home in sys.argv[1:]: # Do some basic exception handling to catch bad arguments. try: instance = roundup.instance.open(home) except: print('Cannot open instance home directory %s!' % home) continue db = instance.open('admin') db.tx_Source = "cli" print('Migrating active queries in %s (%s):'%( instance.config.TRACKER_NAME, home)) for query in db.query.list(): url = db.query.get(query, 'url') if url[0] == '?': url = url[1:] print(' Migrating query%s (%s)'%(query, db.query.get(query, 'name'))) db.query.set(query, url=url) db.commit() db.close()
