Migrating from RelStorage version 1.0 or 1.0.1 to version 1.1¶
PostgreSQL:
CREATE INDEX object_state_prev_tid ON object_state (prev_tid);
DROP INDEX pack_object_keep_zoid;
CREATE INDEX pack_object_keep_false ON pack_object (zoid)
WHERE keep = false;
CREATE INDEX pack_object_keep_true ON pack_object (zoid, keep_tid)
WHERE keep = true;
ALTER TABLE transaction ADD COLUMN empty BOOLEAN NOT NULL DEFAULT FALSE;
CREATE INDEX current_object_tid ON current_object (tid);
ALTER TABLE object_ref ADD PRIMARY KEY (tid, zoid, to_zoid);
DROP INDEX object_ref_from;
DROP INDEX object_ref_tid;
DROP INDEX object_ref_to;
CREATE TABLE pack_state (
tid BIGINT NOT NULL,
zoid BIGINT NOT NULL,
PRIMARY KEY (tid, zoid)
);
CREATE TABLE pack_state_tid (
tid BIGINT NOT NULL PRIMARY KEY
);
Users of PostgreSQL 8.2 and above should also drop the pack_lock table since it has been replaced with an advisory lock:
DROP TABLE pack_lock;
Users of PostgreSQL 8.1 and below still need the pack_lock table. If you have deleted it, please create it again with the following statement:
CREATE TABLE pack_lock ();
MySQL:
CREATE INDEX object_state_prev_tid ON object_state (prev_tid);
ALTER TABLE transaction ADD COLUMN empty BOOLEAN NOT NULL DEFAULT FALSE;
CREATE INDEX current_object_tid ON current_object (tid);
ALTER TABLE object_ref ADD PRIMARY KEY (tid, zoid, to_zoid);
ALTER TABLE object_ref DROP INDEX object_ref_from;
ALTER TABLE object_ref DROP INDEX object_ref_tid;
ALTER TABLE object_ref DROP INDEX object_ref_to;
CREATE TABLE pack_state (
tid BIGINT NOT NULL,
zoid BIGINT NOT NULL,
PRIMARY KEY (tid, zoid)
) ENGINE = MyISAM;
CREATE TABLE pack_state_tid (
tid BIGINT NOT NULL PRIMARY KEY
) ENGINE = MyISAM;
Oracle:
CREATE INDEX object_state_prev_tid ON object_state (prev_tid);
ALTER TABLE transaction ADD empty CHAR DEFAULT 'N' CHECK (empty IN ('N', 'Y'));
CREATE INDEX current_object_tid ON current_object (tid);
ALTER TABLE object_ref ADD PRIMARY KEY (tid, zoid, to_zoid);
DROP INDEX object_ref_from;
DROP INDEX object_ref_tid;
DROP INDEX object_ref_to;
CREATE TABLE pack_state (
tid NUMBER(20) NOT NULL,
zoid NUMBER(20) NOT NULL,
PRIMARY KEY (tid, zoid)
);
CREATE TABLE pack_state_tid (
tid NUMBER(20) NOT NULL PRIMARY KEY
);