title: Automigrate in GORM database adds unwanted fields to SQL table
body: <p>When I create my tables in the gorm database, it adds columns to the table that I don't want. I'm not sure how it's adding these extra fields. This causes me to run into an error that says, "pq: null value in column "user_id" violates not-null constraint". "user_id" is the unwanted column that gets added. I'm using gorm and postgreSQL.</p>
  
  <p>I have a many to many relationship for my two tables. My first table is created properly and my second table, stores, is created with the provided fields plus two unwanted fields: "user_id" and "stores_id". I've tried removing the many to many relationship to see if that was the issue, I've tried dropping the tables and recreating them with different fields. Regardless, I have not been able to get rid of the two extra columns.</p>
  
  <p>The first (working) table:</p>
  
  <pre><code>type User struct {
      gorm.Model
      ID int `json:"u_id"`
      Name string `json:"u_name"`
      Stores []Store `gorm:"many2many:stores;" json:"stores"`
  }
  </code></pre>
  
  <p>When I execute '\d users', I get the following columns: id, created_at, updated_at, deleted_at, name.</p>
  
  <p>The second (problematic) table:</p>
  
  <pre><code>type Stores struct {
      gorm.Model
      ID int `json:"s_id"`
      NUM int `gorm:"unique" json:"s_num"`
      Users []User `gorm:"many2many:user" json:"users"`
  }
  </code></pre>
  
  <p>When I execute '\d' stores, I get the following columns: user_id, vehicle_id, id, created_at, updated_at, deleted_at, num.</p>
  
  <p>I'm executing the creation of these tables through the following code:</p>
  
  <pre><code>db.AutoMigrate(&amp;User{})
  db.AutoMigrate(&amp;Store{})
  </code></pre>
  
  <p>On another note, if I add <code>gorm:"primary_key";auto_increment"</code> to my ID values in my structs, I get the error "pq: column "user_id" appears twice in primary key constraint". I was able to get around this by removing the primary_key and auto_increment attributes, running AutoMigrate() and then adding it back in and running AutoMigrate() again - this was totally fine and working.</p>
  
  <p>I've also tried manually inserting a user_id and store_id. This works fine, except that I'd have to generate new ones every time because they require uniqueness. I understand that the error "pq: null value in column "user_id" violates not-null constraint" is caused by the fact that I'm not providing a user_id or store_id when I'm creating my store. I'm simply confused why a user_id and store_id column is being generated at all, and I'm hoping I can fix that.</p>