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

要回复问题请先登录注册