有什么方法可以创建单数数据库表?

  • development environment
    Lnaguage : Golang ver.1.9.2
    DB : mySQL
    Framework : not decided (Maybe I'll use revel)

  • situation
    I already have DB which has singular-name table ,like "user", "page". It can't be changed.

    Now I'll develop new application using this DB. I created simple application to connect this DB, and tried to auto migrate using gorm(https://github.com/jinzhu/gorm). I defined some models, like "user" which is same as existing DB table name, and run auto-migrate just as it written in (http://jinzhu.me/gorm/database.html#connecting-to-a-database )

    db.Set("gorm:table_options", "ENGINE=InnoDB").AutoMigrate(&User{})

    Then, new table "users" was created.

  • Question Can I create singular-name table, like "user" with auto-migrate or those things ? Using gorm is not required, so I'll use another orm library if it works.

I hope anyone help me !

Implement function TableName on struct User to return a custom name for the table. The ORM uses this function to get the table name for all DB operations.

func (user *User) TableName() string {
    return "user"
}

Refer docs here: http://jinzhu.me/gorm/models.html#table-name-is-the-pluralized-version-of-struct-name

You have set with db instance to use singular table, like this: db.SingularTable(true)