beego orm创建有下划线的表自动生成的表结构有两条下划线,是不是BUG?

models.go

package models

import ( //"github.com/astaxie/beego/orm" )

type Ntjr_User struct { Id int Name string Profile Ntjr_Profile orm:"rel(one)" // OneToOne relation Post []Ntrj_Post orm:"reverse(many)" // 设置一对多的反向关系 }

type Ntjr_Profile struct { Id int Age int16 User *Ntjr_User orm:"reverse(one)" // 设置一对一反向关系(可选) }

下面是自动生成的表结构,在注释部分models.Ntjr_User还是单下划线,但create table ntjr__user 就变成了双下划线

create table ntjr__user


--  Table Structure for `ntjr_monitor/models.Ntjr_User`
-- --------------------------------------------------
CREATE TABLE IF NOT EXISTS `ntjr__user` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `name` varchar(255) NOT NULL DEFAULT '' ,
    `profile_id` integer NOT NULL UNIQUE
) ENGINE=InnoDB;

create table ntrj__post


--  Table Structure for `ntjr_monitor/models.Ntrj_Post`
-- --------------------------------------------------
CREATE TABLE IF NOT EXISTS `ntrj__post` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `title` varchar(255) NOT NULL DEFAULT '' ,
    `user_id` integer NOT NULL
) ENGINE=InnoDB;
已邀请:

yulibaozi - 但行好事,莫问前程

赞同来自:

你结构体里面的字段,不应该存在_,因为orm在生成表的时候,当字段中包含大写的时候,就会自动生成下划线(首字母大写除外),也就是说:NtjrProfile =>ntjr_profile

要回复问题请先登录注册