diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-05 17:24:07 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-05 17:24:07 +0100 |
commit | 24036ef94687300e98c742cfc268a2b5e9e87a88 (patch) | |
tree | fb6be2434919717b18234c0820d39d174c02a969 /src/main/sql/dbdelta/1-person_badge-add-timestamps.sql | |
parent | 7880fd60bb6ba5237d269a1b840a412c4438dd39 (diff) | |
download | esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.gz esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.bz2 esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.tar.xz esper-testing-24036ef94687300e98c742cfc268a2b5e9e87a88.zip |
o Trying out dbdeploy.
Diffstat (limited to 'src/main/sql/dbdelta/1-person_badge-add-timestamps.sql')
-rw-r--r-- | src/main/sql/dbdelta/1-person_badge-add-timestamps.sql | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/sql/dbdelta/1-person_badge-add-timestamps.sql b/src/main/sql/dbdelta/1-person_badge-add-timestamps.sql new file mode 100644 index 0000000..5b53145 --- /dev/null +++ b/src/main/sql/dbdelta/1-person_badge-add-timestamps.sql @@ -0,0 +1,21 @@ +ALTER TABLE person_badge ADD timestamps TIMESTAMP[]; + +DO $$ +DECLARE r RECORD; +DECLARE ts TIMESTAMP[]; +BEGIN + FOR r IN SELECT uuid, count FROM person_badge + LOOP + SELECT array_agg(x) FROM (SELECT current_timestamp FROM generate_series(1, r.count)) AS x INTO ts; + UPDATE person_badge SET timestamps=ts WHERE uuid=r.uuid; + END LOOP; +END$$; + +ALTER TABLE person_badge DROP count; + +--//@UNDO + +ALTER TABLE person_badge ADD count INT; +UPDATE person_badge SET count=array_length(timestamps, 1); +ALTER TABLE person_badge ALTER count SET NOT NULL; +ALTER TABLE person_badge DROP timestamps; |