복붙노트

[SQL] Sequelize 단수 테이블 이름을 사용하도록하는 방법

SQL

Sequelize 단수 테이블 이름을 사용하도록하는 방법

나는 모델이라는 사용자를 가지고 있지만 Sequelize 내가 DB에 저장하려고 할 때마다 테이블 USERS을 찾습니다. 누구 아는 방법 단수 테이블 이름을 사용하는 Sequelize을 설정합니까? 감사.

해결법

  1. ==============================

    1.워드 프로세서는 속성 freezeTableName를 사용할 수있는 상태.

    워드 프로세서는 속성 freezeTableName를 사용할 수있는 상태.

    이 예에서 봐 주시기 바랍니다 :

    var Bar = sequelize.define('Bar', { /* bla */ }, {
      // don't add the timestamp attributes (updatedAt, createdAt)
      timestamps: false,
    
      // don't delete database entries but set the newly added attribute deletedAt
      // to the current date (when deletion was done). paranoid will only work if
      // timestamps are enabled
      paranoid: true,
    
      // don't use camelcase for automatically added attributes but underscore style
      // so updatedAt will be updated_at
      underscored: true,
    
      // disable the modification of tablenames; By default, sequelize will automatically
      // transform all passed model names (first parameter of define) into plural.
      // if you don't want that, set the following
      freezeTableName: true,
    
      // define the table's name
      tableName: 'my_very_custom_table_name'
    })
    
  2. ==============================

    2.허용 대답이 올바른지 동안, 당신은 오히려 각각에 대해 별도로 할 필요없이 한 번에 모든 테이블이 작업을 수행 할 수 있습니다. 당신은 단순히 너무처럼 Sequelize 생성자로 객체 유사한 옵션을 전달 :

    허용 대답이 올바른지 동안, 당신은 오히려 각각에 대해 별도로 할 필요없이 한 번에 모든 테이블이 작업을 수행 할 수 있습니다. 당신은 단순히 너무처럼 Sequelize 생성자로 객체 유사한 옵션을 전달 :

    var Sequelize = require('sequelize');
    
    //database wide options
    var opts = {
        define: {
            //prevent sequelize from pluralizing table names
            freezeTableName: true
        }
    }
    
    var sequelize = new Sequelize('mysql://root:123abc@localhost:3306/mydatabase', opts)
    

    당신이 당신의 엔티티를 정의 할 때 지금, 당신은 freezeTableName을 지정할 필요가 없습니다 : 사실 :

    var Project = sequelize.define('Project', {
        title: Sequelize.STRING,
        description: Sequelize.TEXT
    })
    
  3. from https://stackoverflow.com/questions/21114499/how-to-make-sequelize-use-singular-table-names by cc-by-sa and MIT license