message: [annotations] Fixing migration for annotation layers
diff: @@ -37,17 +37,18 @@ def upgrade():
  Slice.viz_type.like('line'), Slice.viz_type.like('bar'))):
  params = json.loads(slc.params)
  layers = params.get('annotation_layers', [])
  + if layers:
  new_layers = []
  - if len(layers) and isinstance(layers[0], int):
  for layer in layers:
  - new_layers.append(
  - {
  + new_layers.append({
  'annotationType': 'INTERVAL',
  'style': 'solid',
  'name': 'Layer {}'.format(layer),
  'show': True,
  'overrides': {'since': None, 'until': None},
  - 'value': 1, 'width': 1, 'sourceType': 'NATIVE',
  + 'value': layer,
  + 'width': 1,
  + 'sourceType': 'NATIVE',
  })
  params['annotation_layers'] = new_layers
  slc.params = json.dumps(params)
  @@ -57,4 +58,16 @@ def upgrade():
  def downgrade():
  - pass
  + bind = op.get_bind()
  + session = db.Session(bind=bind)
  +
  + for slc in session.query(Slice).filter(or_(
  + Slice.viz_type.like('line'), Slice.viz_type.like('bar'))):
  + params = json.loads(slc.params)
  + layers = params.get('annotation_layers', [])
  + if layers:
  + params['annotation_layers'] = [layer['value'] for layer in layers]
  + slc.params = json.dumps(params)
  + session.merge(slc)
  + session.commit()
  + session.close()
  