from autotest_lib.client.common_lib import global_config
def migrate_up(manager):
# Add the column with a default first, and then drop the default.
# We cannot add the column, populate the values, and then specify NOT NULL
# because a record added while this is executing could enter a null value
# into the table before NOT NULL is specified.
manager.execute(ADD_COLUMN)
manager.execute(DROP_DEFAULT)
def migrate_down(manager):
manager.execute(DROP_COLUMN)
job_timeout_default = global_config.global_config.get_config_value(
'AUTOTEST_WEB', 'job_timeout_default')
ADD_COLUMN = ('ALTER TABLE jobs ADD COLUMN timeout INT NOT NULL DEFAULT %s'
% job_timeout_default)
DROP_DEFAULT = 'ALTER TABLE jobs ALTER COLUMN timeout DROP DEFAULT'
DROP_COLUMN = 'ALTER TABLE jobs DROP COLUMN timeout'