表的golang ORM名称

I have some code to create the table in Postgres DB

import (
    "github.com/jinzhu/gorm"
    _ "github.com/lib/pq"
)
type Table struct {
    Id   int    `gorm:"primary_key"`
    Name string `gorm:"type:varchar(100)"`
    Addr string `gorm:"type:varchar(100)"`
}
func main() {
    db, _ := gorm.Open("postgres", "user=postgres password=poilo777 dbname=mydb sslmode=disable")
    defer db.Close()
    db.CreateTable(&Table{}) 
    user := &Table{Name: "ololo", Addr: "pololo"}

there are 2 problems, i faced: 1) in database created a table "tables" instead of "Table" 2) how can I insert data in existing another tables? (for example "users")

1) You can set Table's table name to be table

func (Table) TableName() string {
    return "table"
}

Another way is to set singularTable true, then Table's default table name will be table instead of tables. But it will affect all tables the same.

set db.SingularTable(true) 

2) In ORM you should define your table object. Here is a struct called Table. Gorm will create a new table called tables in database unless you want to overwrite table's name you can follow step 1.

My solving of this problem:

    db.Table("my_table").CreateTable(&Table{})

    user := &Table{Name: "ololo", Addr: "pololo"}
    db.Table("my_table").Create(user) 

This code creates table my_table as I wanted