title: How to create postgresql's sequences in Alembic
body: <p>I'm using <code>alembic</code> to maintain my tables. At the same time, I update my models using the declarative way.</p>
  
  <p>This is one the alembic's table:</p>
  
  <pre><code>op.create_table(
      'groups',
      Column('id', Integer, Sequence('group_id_seq'), primary_key=True),
      Column('name', Unicode(50)),
      Column('description', Unicode(250)),
  )
  </code></pre>
  
  <p>And the model is like the following:</p>
  
  <pre><code>class Group(Base):
      __tablename__ = 'groups'
      id = Column(Integer, Sequence('group_id_seq'), primary_key=True)
      name = Column(Unicode(50))
      description = Column(Unicode(250))
  
      def __init__(self, name, description):
          self.description = description
          self.name = name
  </code></pre>
  
  <p>You can see, I'm using the <code>Sequence</code> in both the alembic migration and in the declarative model.</p>
  
  <p>But I have noticed that when using PostgreSQL (v9.1) no sequences are created by alembic, and so the models fail to create instances since they will use the <code>nextval(&lt;sequence name&gt;)</code> clause. </p>
  
  <p>So, how can I create my alembic migrations so that the sequences are truly generated in postgresql?</p>