title: SqlAlchemy: Convert inherited type from one to another
body: <p>Let's say I have two different types both on the same database table (single table inheritance):</p>
  
  <pre><code>class Employee(db.Model):
      id = db.Column(db.Integer, primary_key = True)
      name = db.Column(db.String, nullable = False)
      discriminator = db.Column('type', String)
      __mapper_args__ = {'polymorphic_on': discriminator}
  
  class Manager(Employee):
      __mapper_args__ = {'polymorphic_identity': 'manager'}
      division = db.Column(db.String, nullable = False)
      role = db.Column(db.String, nullable = False)
  
  class Worker(Employee):
      __mapper_args__ = {'polymorphic_identity': 'worker'}
      title = db.Column(db.String, nullable = False)
  </code></pre>
  
  <p>(Yes, I'm using Flask-SqlAlchemy and not plain vanilla) Now how might I go about converting one declarative model to another. That is, what if a "Worker" was promoted to "Manager?" How do I do that? Do I have to write raw SQL to do that?</p>
  
  <p>Sorry if this has been asked before but I couldn't find it from the Googles. Please note, this is a contrived example.</p>