title: Unhandled rejection SequelizeDatabaseError: type "enum_*" already exists
body: <p>I was attempting to perform a <code>sequelize</code> db migration to my test database with the following user model, for the reference there had been a previous migration as well.</p>
  
  <pre><code>const User = Sequelize.define('user', {
      user_id: {
          type: sequelize.STRING,
          primary_key: true,
      },
      firstName:{
          type: sequelize.STRING,
          allowNull: false
      },
      lastName:{
          type: sequelize.STRING
      },
      dob:{
          type: sequelize.DATE
      },
      birth_time:{
          type: sequelize.TIME,
          allowNull: true
      },
      gender:{
          type: sequelize.ENUM,
          values: ['male', 'female']
      }
  });
  </code></pre>
  
  <p>But while doing so I am receiving the following error once a few db queries are executed.</p>
  
  <pre><code>Unhandled rejection SequelizeDatabaseError: type "enum_yyy" already exists
      at Query.formatError (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/sequelize/lib/dialects/postgres/query.js:366:16)
      at /home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/sequelize/lib/dialects/postgres/query.js:72:18
      at tryCatcher (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/caesar/Workspace/xxx/node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromise0 (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/promise.js:614:10)
      at Promise._settlePromises (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/promise.js:689:18)
      at Async._drainQueue (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/async.js:133:16)
      at Async._drainQueues (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/async.js:143:10)
      at Immediate.Async.drainQueues [as _onImmediate] (/home/caesar/Workspace/Devmetry/Projects/xxx/node_modules/bluebird/js/release/async.js:17:14)
      at processImmediate (internal/timers.js:456:21)
      at process.topLevelDomainCallback (domain.js:137:15)
  </code></pre>
  
  <p>The <code>db.sync</code> method that I have utilized is as follows.</p>
  
  <pre><code>Sequelize.sync({ alter: true })
    .then(() =&gt; {
      console.log(`Database &amp; tables generated!`)
  });
  </code></pre>
  
  <p>Anyone having suggestions on fixing this issue, without a hard complete db migration.</p>