美文网首页开源工具技巧nestjs
Typeorm 字段名驼峰转下划线命名

Typeorm 字段名驼峰转下划线命名

作者: stormKid | 来源:发表于2019-01-16 14:00 被阅读119次

    官网上面没有直接提示和说明如何驼峰转下划线,就算是查询API,和下载demo 里面都没有详细提供参考,特此根据使用经验,开辟此文章来完成对此方式详细说明。

    1、Column

        @Column()
        abc_abc;
    
        @Column({name: 'abc_abc'})
        abcAbc;
    

    直接写下划线命名即可在数据库中显示为下划线名称,如果讲究十分规范的话,请使用下面的写发,指定name为下划线名称。

    2、OneToOne && ManyToOne

        @OneToOne(……)
        @JoinColumn({ name: 'abc_abc'})
        foriegnObj: ForiegnObj;
    
        @ManyToOne(……)
        @JoinColumn({ name: 'abc_abc'})
        foriegnObj: ForiegnObj;
    

    OneToOne和 ManyToOne在同样的条件下会指定对应的外键,直接通过JoinColumn的name属性来控制外键名称。

    3、ManyToMany

        @ManyToMany(......)
        @JoinTable({name:'tableName' 
                            , joincolumn:{
                                        name:'abc_abc'
                                        referencedColumnName:'thistable_id'
                                   }
                            , inverseJoinColumn:{
                                        name:'def_def'
                                        referencedColumnName:'pointtable_id'
                                   }})
    
        foriegnObjs: ForiegnObj[];
    

    多对多属性进行字段编辑的时候一定要注意以下几点:
    1、joincolumn 是本表内部成员映射,其referencedColumnName 一定指向本表主键ID。
    2、inverseJoinColumn 是ManyToMany 映射对象表的属性,这里一定指向其表主键ID。
    3、两表主键ID一定要类型、长度保持一致,不然会报 "ERROR 1215 (HY000): Cannot add foreign key constraint" 错误。

    相关文章

      网友评论

        本文标题:Typeorm 字段名驼峰转下划线命名

        本文链接:https://www.haomeiwen.com/subject/fqzpdqtx.html