Mercurial > hg > LGDataverses
view scripts/migration/migrate_datasets.sql @ 12:c2e2d794847f
new: add config.properties file for gazetteer
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Wed, 30 Sep 2015 13:43:54 +0200 |
| parents | a50cf11e5178 |
| children |
line wrap: on
line source
--copy studyversion fields to datasetversion update datasetversion set createtime = sv.createtime, lastupdatetime = sv.lastupdatetime, archivetime= sv.archivetime, archivenote = sv.archivenote, deaccessionlink = sv.deaccessionlink, versionnote = sv.versionnote from _dvn3_studyversion sv, dataset d, _dvn3_study s where d.authority = s.authority and d.protocol = s.protocol and d.identifier = s.studyid and datasetversion.dataset_id = d.id and datasetversion.versionnumber = sv.versionnumber and sv.study_id = s.id; -- set dataset.publication date to the releasetime of the earliest released studyversion update dvobject set publicationdate = m.releasetime from (select dvobject.id, sv.study_id, min(sv.releasetime) as releasetime from _dvn3_studyversion sv, dataset d, _dvn3_study s, dvobject where d.authority = s.authority and d.protocol = s.protocol and d.identifier = s.studyid and dvobject.id = d.id and sv.study_id = s.id and sv.versionstate!='DRAFT' group by sv.study_id, dvobject.id) m where m.id = dvobject.id; -- set dvobject creator_id for each dataset to study.creator_id update dvobject set creator_id = s.creator_id, createdate = s.createtime from _dvn3_study s, dataset d where d.authority = s.authority and d.protocol = s.protocol and d.identifier = s.studyid and dvobject.id = d.id; -- migrate data from _dvn3_versioncontributor to datasetversionuser insert into datasetversionuser ( lastupdatedate, authenticateduser_id, datasetversion_id ) ( select vc.lastupdatetime, vc.contributor_id, dv.id from _dvn3_versioncontributor vc, _dvn3_studyversion sv, _dvn3_study s, dataset d, datasetversion dv, authenticateduser au where vc.studyversion_id = sv.id and sv.study_id = s.id and d.authority = s.authority and d.protocol = s.protocol and d.identifier = s.studyid and dv.dataset_id = d.id and dv.versionnumber = sv.versionnumber and au.id = vc.contributor_id); -- modify versionstate for older versions of deaccessioned studies update datasetversion set versionstate = 'DEACCESSIONED' where id in ( select dv1.id from datasetversion dv1, datasetversion dv2 where dv1.dataset_id = dv2.dataset_id and dv1.versionnumber < dv2.versionnumber and dv2.versionstate = 'DEACCESSIONED'); -- update the globalidcreatetime to be equal to the publicationdate update dataset set globalidcreatetime = publicationdate from dvobject dvo where dataset.id = dvo.id;
