Beego框架在迁移时不会创建外键

Recently i trying create simple web site with Beego framework. Everything is oke util i trying to create model.

I have two table users and user_types. Table users have field user_type link to pk of table user_types.

Here is my code definition:

type User struct {
 Id        uint `orm:"pk"`
 FullName  string
 UserName  string `orm:"unique"`
 Phone     string `orm:"unique"`
 Email     string `orm:"unique"`
 Password  string
 UserType  *UserType `orm:"rel(fk)"`
 CreatedAt time.Time `orm:"auto_now_add;type(datetime)"`
 UpdatedAt time.Time `orm:"auto_now;type(datetime)"`
}

type UserType struct {
 Id        uint `orm:"pk"`
 TypeName  string
 CountUser uint    `orm:"default(0)"`
 Users     []*User `orm:"reverse(many)"`
}

But when i use orm.RunSyncdb("default", true, true) it only create table and indexing, not create foreign key.

This is sql code migrate run.

drop table `user_type`
DROP TABLE IF EXISTS `user_type`

drop table `user`
DROP TABLE IF EXISTS `user`

create table `user_type` 
 -- --------------------------------------------------
 --  Table Structure for `models.UserType`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `user_type` (
    `id` integer unsigned NOT NULL PRIMARY KEY,
    `type_name` varchar(255) NOT NULL DEFAULT '' ,
    `count_user` integer unsigned NOT NULL DEFAULT 0 
 ) ENGINE=INNODB;

create table `user` 
 -- --------------------------------------------------
 --  Table Structure for `models.User`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `user` (
    `id` integer unsigned NOT NULL PRIMARY KEY,
    `full_name` varchar(255) NOT NULL DEFAULT '' ,
    `user_name` varchar(255) NOT NULL DEFAULT ''  UNIQUE,
    `phone` varchar(255) NOT NULL DEFAULT ''  UNIQUE,
    `email` varchar(255) NOT NULL DEFAULT ''  UNIQUE,
    `password` varchar(255) NOT NULL DEFAULT '' ,
    `user_type_id` integer unsigned NOT NULL,
    `created_at` datetime NOT NULL,
    `updated_at` datetime NOT NULL
 ) ENGINE=INNODB;
 CREATE INDEX `user_user_name_email` ON `user` (`user_name`, `email`);

And here is diagrams: diagrams

My question is how to create foreign key when run RunSyncdb.

Thanks every one!

是的,不会在数据库生成外键,只是逻辑上的外键,全都依赖于模型定义的时候的关系,这个有点接受不了,或者我理解的不够深的原因