zoukankan      html  css  js  c++  java
  • go 利用beego orm的数据库设计

    比如利用 go web框架 beego中的orm 对象关系映射创建表
    ```go

    type Article struct {
    Id int `orm:"pk;auto"`
    ArticleName string `orm:"size(20)"`
    Atime time.Time `orm:"auto_now"`
    Acount int `orm:"default(0);null"`
    Acontent string `orm:"size(500)"`
    Aimg string `orm:"size(100)"`
    }
    ```
    由上面的代码可以看出,要给哪个字段添加属性,需要在这个字段后面添加 ``括起来的内容,格式为 orm:"限制条件" 。那这些限制条件都有哪些呢?我在这里给大家列了一个表格。

    |限制条件| 作用|
    -----|--------
    |pk|设置该字段为主键|
    |auto|这只该字段自增,但是要求该字段必须为整型|
    | default(0)| 设置该字段的默认值,需要注意字段类型和默认值类型一致|
    |size(100) |设置该字段长度为100个字节,一般用来设置字符串类型 |
    | null | 设置该字段允许为空,默认不允许为空|
    | unique | 设置该字段全局唯一 |
    | digits(12);decimals(4)| 设置浮点数位数和精度。比如这个是说,浮点数总共12位,小数位为四位。|
    | auto_now| 针对时间类型字段,作用是保存数据的更新时间|
    |auto_now_add| 针对时间类型字段,作用是保存数据的添加时间|
    > 注意:当模型定义里没有主键时,符合int, int32, int64, uint, uint32, uint64 类型且名称为 Id 的 Field 将 被视为主键,能够自增. "
    > Mysql中时间类型有date和datetime两种类型,但是我们go里面只有time.time一种类型,如果项目里面要求 精确的话,就需要指定类型,指定类型用的是type(date)或者type(datetime)

  • 相关阅读:
    Can't remove netstandard folder from output path (.net standard)
    website项目的reference问题
    The type exists in both DLLs
    git常用配置
    Map dependencies with code maps
    How to check HTML version of any website
    Bootstrap UI 编辑器
    网上职位要求对照
    Use of implicitly declared global variable
    ResolveUrl in external JavaScript file in asp.net project
  • 原文地址:https://www.cnblogs.com/liuqun/p/12752154.html
Copyright © 2011-2022 走看看