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
);