Definir un esquema PostgreSQL desde un esquema MySQL creado con MySQL Workbench

Reemplazar ENGINE = InnoDB por ” (cadena vacia)
Reemplazar DEFAULT CHARACTER SET … por ”
Reemplazar COLLATE = … POR ”
Reemplazar CHARACTER SET … POR ”
Reemplazar SET … POR ”
Reemplazar acento frances ` por ”
Reemplazar UNIQUE INDEX … por ” y asignar UNIQUE a los campos correspondientes
Reemplazar INDEX … por ”

Reemplazar TINYINT(1) por BOOLEAN
Reemplazar id BIGINT(20) por BIGSERIAL
Reemplazar BIGINT(… por BIGINT
Reemplazar INT(… por INTEGER
Reemplazar INTEGER NOT NULL AUTO_INCREMENT por SERIAL

Eliminar fila CONSTRAINT de las fks
Eliminar fila CREATE INDEX
Eliminar fila CREATE UNIQUE y agregar UNIQUE a los campos correspondientes
Eliminar fila AUTO_INCREMENT =
Eliminar fila @OLD
Reemplazar UNSIGNED por cadena vacia

Reorganizar el orden de los create
Opcionalmente asignar bigserial o serial a los pk si no estan definidas recordando que

  
CREATE TABLE tablename (
  colname SERIAL
);

equivale a
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
    colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;

Opcionalmente reemplazar IF NOT EXISTS por”
Luego de la migración inicializar secuencias:
SELECT colname FROM tablename ORDER BY colname DESC
ALTER SEQUENCE tablename_colname_seq RESTART WITH 105;

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *