Copying the complete data to another model

Hi    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 nextval('service_desk_knowledge_bases_id_seq'::regclass) service_desk_ticket_id | integer | knowledge_base_id | integer |

Like incident_knowledge_bases has the structure id | integer | not null default nextval('incident_knowledge_bases_id_seq'::regclass) 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        etc

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

    etc       Like the others also..I dont know how to start..What I am going to do is to create an incident like inc=Incident.new 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 Sijo