Copying the complete data to another model

   I have the main model ServiceDeskTicket and its associated models
like ServiceDeskAttachment, ServiceDeskKnowledgeBase, ServiceDeskCI
etc.. Now i want to convert ServiceDeskTicket to an Incident.As a part
of that I have to create a new incident which has the same information
as that of ServiceDeskTicket And also IncidentKnowledgeBase has the same
information as that of ServiceDeskKnowledgeBase like that.. For
example service_desk_knowledge_bases table has the structure

id | integer | not null default
service_desk_ticket_id | integer |
knowledge_base_id | integer |

Like incident_knowledge_bases has the structure
id | integer | not null default
incident_id | integer |
knowledge_base_id | integer

    service_desk_tickets like
  id | integer | not null
default nextval('service_desk_tickets_id_seq'::regclass)
number | character varying(15) |
title | character varying(100) |
service_desk_status_id | integer |
service_desk_category_id | integer |
service_desk_sub_category_id | integer |
reported_by_id | integer |
owner_id | integer |
service_desk_impact_id | integer

And Incident like

id | integer | not null
default nextval('incidents_id_seq'::regclass)
number | character varying(15) | default
NULL::character varying
title | character varying(100) | default
NULL::character varying
incident_status_id | integer |
incident_category_id | integer |
incident_sub_category_id | integer |
reported_by_id | integer |
owner_id | integer |
incident_impact_id | integer

      Like the others also..I dont know how to start..What I am going to
do is to create an incident like
inc.number= sd_ticket.number
inc.incident_category_id= sd_ticket.service_desk_category_id
   like that And to do same to all other models . But is this the right
method Or is there any other easy method? I expect your valuable advise

Thanks in advance