Revision ca247333
Von Moritz Bunkus vor etwa 4 Jahren hinzugefügt
sql/Pg-upgrade2/acc_trans_without_oid.sql | ||
---|---|---|
2 | 2 |
-- @description: Einführen einer ID-Spalte in acc_trans |
3 | 3 |
-- @depends: release_2_4_3 cb_ob_transaction |
4 | 4 |
|
5 |
-- INFO: Dieses Script hat früher die Spalte acc_trans_id aus der |
|
6 |
-- impliziten OID gesetzt. PostgreSQL 12 unterstützt aber keine OIDs |
|
7 |
-- mehr, daher wurde die OID hier entfernt. Das ist insofern auch kein |
|
8 |
-- Problem, weil dieses Upgrade-Script in Version 2.6.0 benutzt wurde, |
|
9 |
-- und direkte Updates auf die aktuelle kivitendo-Version von vor 3.0 |
|
10 |
-- eh nicht mehr unterstützt werden. |
|
11 |
-- |
|
12 |
-- Das Script muss aber trotzdem beim Anlegen neuer Datenbanken |
|
13 |
-- abgearbeitet werden und daher funktionieren. |
|
14 |
|
|
5 | 15 |
CREATE SEQUENCE acc_trans_id_seq; |
6 | 16 |
|
7 | 17 |
CREATE TABLE new_acc_trans ( |
... | ... | |
23 | 33 |
mtime timestamp without time zone |
24 | 34 |
); |
25 | 35 |
|
26 |
INSERT INTO new_acc_trans (acc_trans_id, trans_id, chart_id, amount, transdate, gldate, source, cleared,
|
|
36 |
INSERT INTO new_acc_trans (trans_id, chart_id, amount, transdate, gldate, source, cleared, |
|
27 | 37 |
fx_transaction, ob_transaction, cb_transaction, project_id, memo, taxkey, itime, mtime) |
28 |
SELECT oid, trans_id, chart_id, amount, transdate, gldate, source, cleared,
|
|
38 |
SELECT trans_id, chart_id, amount, transdate, gldate, source, cleared, |
|
29 | 39 |
fx_transaction, ob_transaction, cb_transaction, project_id, memo, taxkey, itime, mtime |
30 | 40 |
FROM acc_trans; |
31 | 41 |
|
32 |
SELECT setval('acc_trans_id_seq', (SELECT COALESCE((SELECT MAX(oid::integer) FROM acc_trans), 0) + 1)); |
|
33 |
|
|
34 | 42 |
DROP TABLE acc_trans; |
35 | 43 |
ALTER TABLE new_acc_trans RENAME TO acc_trans; |
36 | 44 |
|
Auch abrufbar als: Unified diff
Unterstützung für PostgreSQL 12 Teil 2
PostgreSQL 12 unterstützt OIDs nicht mehr. Daher die letzten Stellen
umgestellt, an denen noch OIDs verwendet wurden.