반응형
열 'id'가 없는 표 속편화
표에 대한 속편 정의는 다음과 같습니다.
AcademyModule = sequelize.define('academy_module', {
academy_id: DataTypes.INTEGER,
module_id: DataTypes.INTEGER,
module_module_type_id: DataTypes.INTEGER,
sort_number: DataTypes.INTEGER,
requirements_id: DataTypes.INTEGER
}, {
freezeTableName: true
});
보시는 바와 같이id
컬럼을 표시합니다.그러나 삽입을 시도해도 다음 SQL이 시도됩니다.
INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1);
디세블로 하려면 어떻게 해야 하나요?id
기능이 명확합니까?
정의하지 않은 경우primaryKey
그 후 용도를 속편화하다id
디폴트입니다.
독자적인 설정을 원하시면primaryKey: true
를 참조해 주세요.
AcademyModule = sequelize.define('academy_module', {
academy_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
module_id: DataTypes.INTEGER,
module_module_type_id: DataTypes.INTEGER,
sort_number: DataTypes.INTEGER,
requirements_id: DataTypes.INTEGER
}, {
freezeTableName: true
});
테이블의 프라이머리 키를 완전히 비활성화하려면Model.removeAttribute
Sequelize는 ORM이기 때문에 추가 설정이 필요하므로 향후 문제가 발생할 수 있습니다.
const AcademyModule = sequelize.define('academy_module', {
academy_id: DataTypes.INTEGER,
module_id: DataTypes.INTEGER,
module_module_type_id: DataTypes.INTEGER,
sort_number: DataTypes.INTEGER,
requirements_id: DataTypes.INTEGER
}, {
freezeTableName: true
});
AcademyModule.removeAttribute('id');
모델에 ID 열이 없는 경우 Model.removeAttribute('id');를 사용하여 삭제할 수 있습니다.
http://docs.sequelizejs.com/en/latest/docs/legacy/ 를 참조해 주세요.
그래서 당신의 경우엔
AcademyModule = sequelize.define('academy_module', {
academy_id: DataTypes.INTEGER,
module_id: DataTypes.INTEGER,
module_module_type_id: DataTypes.INTEGER,
sort_number: DataTypes.INTEGER,
requirements_id: DataTypes.INTEGER
}, {
freezeTableName: true
});
AcademyModule.removeAttribute('id');
주의: 조인 테이블을 만들고 있는 것 같습니다.만드는 것을 고려하다academy_id
그리고. module_id
프라이머리 키이렇게 하면 동일한 링크가 여러 번 나타나지 않고 데이터베이스가 숨겨진 ID 열을 헛되이 만들지 않습니다.
복합 기본 키의 경우 기본 키의 모든 열 부분에 "primaryKey: true"를 추가해야 합니다.Sequelize는 이러한 열을 복합 기본 키의 일부로 간주합니다.
언급URL : https://stackoverflow.com/questions/29233896/sequelize-table-without-column-id
반응형
'programing' 카테고리의 다른 글
URL용 PHP 검증/regex (0) | 2023.02.01 |
---|---|
재귀 ORM 클래스와 관련된 스프링 저장소 성능 문제 (0) | 2023.02.01 |
PHP - IN 절 배열과 함께 PDO 사용 (0) | 2023.02.01 |
날짜가 지정된 범위 내에 있는지 확인하려면 어떻게 해야 합니까? (0) | 2023.02.01 |
풀의 JDBC 접속 닫기 (0) | 2023.02.01 |