1.MySQL 中取得 my_enum _type_t 的定義
SHOW CREATE TABLE my_enum;
2.在 PostgreSQL 中建立一個對應的類型:
CREATE TYPE my_enum AS ENUM ('value1', 'value2', 'value3');
3.建立完類型後,再次導入
IMPORT FOREIGN SCHEMA "schema_name"
LIMIT TO (my_enum)
FROM SERVER store_center
INTO public;
這個做法的問題會需要手動維護,假如要新增就用以下的方式
ALTER TYPE my_enum ADD VALUE 'new_value';
是要刪除了話就要整個類型都刪除
-- 創建新的 ENUM 類型
CREATE TYPE new_my_enum AS ENUM ('value1', 'value3');
-- 更新使用該類型的表
ALTER TABLE my_table
ALTER COLUMN enum_column TYPE new_my_enum USING
CASE
WHEN enum_column::text = 'value2' THEN NULL
ELSE enum_column::text::new_my_enum
END;
-- 刪除舊的 ENUM 類型
DROP TYPE my_enum;
-- 重命名新的 ENUM 類型
ALTER TYPE new_my_enum RENAME TO my_enum;