title: Sequelize - map fields to field alias in model definition
body: <p>I am defining a Sequelize model to map fields from existing tables in my database. However, the field names in the table are long and not developer-friendly. </p>
  
  <p>Is it possible to map the database field names to aliases in the model definition so that my service has more developer-friendly model property names to work with?</p>
  
  <p><strong>Example:</strong></p>
  
  <p>This...</p>
  
  <pre><code>// Horrible field names
  module.exports = (sequelize, DataTypes) =&gt;
    sequelize.define('Transaction', {
      f_curr_finaccount__amount: DataTypes.DECIMAL,
      f_curr_finaccount__tx_type: DataTypes.STRING,
      f_finaccount__currency_iso_id: DataTypes.STRING,
      f_lex_finaccount__tx_atomic_status: DataTypes.STRING
    }, {
      schema: 'fins',
      tableName: 'fins_financialaccounttransaction',
      timestamps: false
    })
  </code></pre>
  
  <p>...becomes...</p>
  
  <pre><code>// Developer-friendly field names
  module.exports = (sequelize, DataTypes) =&gt;
    sequelize.define('Transaction', {
      amount: {
        type: DataTypes.DECIMAL,
        fieldName: 'f_curr_finaccount__amount'
      },
      type: {
        type: DataTypes.STRING,
        fieldName: 'f_curr_finaccount__tx_type'
      },
      currency: {
        type: DataTypes.STRING,
        fieldName: 'f_finaccount__currency_iso_id'
      },
      status: {
        type: DataTypes.STRING,
        fieldName: 'f_lex_finaccount__tx_atomic_status'
      }
    }, {
      schema: 'fins',
      tableName: 'fins_financialaccounttransaction',
      timestamps: false
    })
  </code></pre>