Question: We are using TFS 2015 and the CMMI process template. 

I am trying to find out how to create a full copy from an Issue work item whereby the target work item type should be Requirement.
With full copy I mean that the values of all fields of the Issue that are also available within the Requirement (e.g. Title, Description, State, Area Path, Iteration,...) should be copied as well as all links to other work items (child, parent, related, successor, predecessor, etc.).

Using "Copy" within VSO will f.e. not copy child links of the Issue (Tasks). Instead it creates a "related" to the source Issue...

Any recommendation how this can be realized would be highly appreciated.

Answer: 
You need a **join table** allowing a many-to-many relationship between Gig and Genre.

```
Genre
  has_many :gig_genres
  has_many :gigs, :through => :gig_genres

Gig
  has_many :gig_genres
  has_many :genres, :through => :gig_genres

GigGenre
  belongs_to :gig
  belongs_to :genre

```
In the end I did a mix of the other two answers.

Gig model + Genre model with a 

```
def change
  create_table :genres_gigs, :id => false do |t|
    t.integer :genre_id
    t.integer :gig_id
  end
end

```

migration.

I used this page as a guide, which also helped with views and controllers.
<http://habtmexample.herokuapp.com/instructions>