NLinker icon

Immutable update to apple_mapping

NLinker | PRO | 02/10/17 10:57:17 PM UTC | 0 ⭐ | 7349 👁️ | Never ⏰ | []
PostgreSQL |

1.37 KB

|

None

|

0 👍

/

0 👎

CREATE TABLE apple_mapping_dev0210x
(
  id          BIGSERIAL PRIMARY KEY NOT NULL,
  entity_uuid UUID,
  entity_type INTEGER,
  external_id VARCHAR(128),
  is_deleted  BOOLEAN,
  created_at  TIMESTAMP,
  updated_at  TIMESTAMP
);
INSERT INTO apple_mapping_dev0210x (
  id,
  entity_uuid,
  entity_type,
  external_id,
  is_deleted,
  created_at,
  updated_at
)(
  SELECT
    id,
    entity_uuid,
    entity_type,
    external_id,
    true,
    now(),
    now()
  FROM apple_mapping
);
-- THE easiest way to ensure the ALTER statements below work
DROP TABLE apple_mapping_dev0210;
ALTER TABLE apple_mapping_dev0210x RENAME TO apple_mapping_dev0210;
ALTER SEQUENCE apple_mapping_dev0210x_id_seq
  RENAME TO apple_mapping_dev0210_id_seq;
SELECT setval('apple_mapping_dev0210_id_seq' :: REGCLASS,
              (SELECT max(id) FROM apple_mapping) :: BIGINT);
ALTER TABLE apple_mapping_dev0210 ALTER COLUMN id
  SET DEFAULT nextval('apple_mapping_dev0210_id_seq' :: REGCLASS);
 
-- do this at the end of the processing
-- when all the stuff gets ready
CREATE UNIQUE INDEX apple_mapping_dev0210_external_id_entity_type_idx ON apple_mapping_dev0210 (entity_type, external_id);
CREATE INDEX apple_mapping_dev0210_stuff0_idx ON apple_mapping_dev0210 (entity_uuid, is_deleted);
CREATE INDEX apple_mapping_dev0210_entity_uuid_idx ON apple_mapping_dev0210 (entity_uuid);

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎