fix(cities): remove 'استان' prefix, keep clean city/province names

This commit is contained in:
mahmood
2026-10-25 13:31:35 +03:30
parent 41fc2496ef
commit 143d9aefbb
2 changed files with 188 additions and 134 deletions
@@ -1,135 +1,162 @@
-- Migration: Populate all 31 provinces of Iran under Iran (country)
-- Leaves cities to be added manually by admin users as needed.
-- Migration: Populate all 31 provinces/cities of Iran without "استان" prefix
-- Clean names (تهران, اصفهان, فارس, خراسان رضوی, ...)
INSERT INTO "City" ("id", "name", "parentId")
VALUES ('city-iran', 'ایران', NULL)
ON CONFLICT ("id") DO NOTHING;
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-368ec488a60e1e68', 'استان آذربایجان شرقی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان آذربایجان شرقی');
-- If rows with 'city-tehran', etc. exist and have child relations, re-link them before cleanup
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-tehran') THEN
UPDATE "Customer" SET "cityId" = 'prov-e9dedb90e02298da' WHERE "cityId" = 'city-tehran';
UPDATE "Branch" SET "cityId" = 'prov-e9dedb90e02298da' WHERE "cityId" = 'city-tehran';
DELETE FROM "City" WHERE "id" = 'city-tehran';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-mashhad') THEN
UPDATE "Customer" SET "cityId" = 'prov-e10485d2d3377704' WHERE "cityId" = 'city-mashhad';
UPDATE "Branch" SET "cityId" = 'prov-e10485d2d3377704' WHERE "cityId" = 'city-mashhad';
DELETE FROM "City" WHERE "id" = 'city-mashhad';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-isfahan') THEN
UPDATE "Customer" SET "cityId" = 'prov-4bb74d0dee027e26' WHERE "cityId" = 'city-isfahan';
DELETE FROM "City" WHERE "id" = 'city-isfahan';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-tabriz') THEN
UPDATE "Customer" SET "cityId" = 'prov-368ec488a60e1e68' WHERE "cityId" = 'city-tabriz';
DELETE FROM "City" WHERE "id" = 'city-tabriz';
END IF;
END $$;
-- Strip any existing 'استان ' prefix
UPDATE "City"
SET "name" = regexp_replace("name", '^استان\s+', '')
WHERE "name" LIKE 'استان %';
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-059893dce6617346', 'استان آذربایجان غربی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان آذربایجان غربی');
SELECT 'prov-368ec488a60e1e68', 'آذربایجان شرقی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'آذربایجان شرقی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7f952fb4706a65b2', 'استان اردبیل', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان اردبیل');
SELECT 'prov-059893dce6617346', 'آذربایجان غربی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'آذربایجان غربی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-4bb74d0dee027e26', 'استان اصفهان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان اصفهان');
SELECT 'prov-7f952fb4706a65b2', 'اردبیل', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'اردبیل');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-d5a20c324e2bf5ec', 'استان البرز', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان البرز');
SELECT 'prov-4bb74d0dee027e26', 'اصفهان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'اصفهان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-1fd9876fd977c8e2', 'استان ایلام', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان ایلام');
SELECT 'prov-d5a20c324e2bf5ec', 'البرز', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'البرز');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-6f0490cb87e4939d', 'استان بوشهر', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان بوشهر');
SELECT 'prov-1fd9876fd977c8e2', 'ایلام', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'ایلام');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-e9dedb90e02298da', 'استان تهران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان تهران');
SELECT 'prov-6f0490cb87e4939d', 'بوشهر', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'بوشهر');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-f23cd3502271e60d', 'استان چهارمحال وبختیاری', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان چهارمحال وبختیاری');
SELECT 'prov-e9dedb90e02298da', 'تهران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'تهران');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-b14f3eca6f74c8a1', 'استان خراسان جنوبی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان جنوبی');
SELECT 'prov-f23cd3502271e60d', 'چهارمحال وبختیاری', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'چهارمحال وبختیاری');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-e10485d2d3377704', 'استان خراسان رضوی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان رضوی');
SELECT 'prov-b14f3eca6f74c8a1', 'خراسان جنوبی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان جنوبی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-82f38d7aa96738ef', 'استان خراسان شمالی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان شمالی');
SELECT 'prov-e10485d2d3377704', 'خراسان رضوی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان رضوی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-c6de3aa600da89fe', 'استان خوزستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خوزستان');
SELECT 'prov-82f38d7aa96738ef', 'خراسان شمالی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان شمالی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-2127da5b93f2e4ed', 'استان زنجان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان زنجان');
SELECT 'prov-c6de3aa600da89fe', 'خوزستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خوزستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-a9d8994f85a4baa1', 'استان سمنان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان سمنان');
SELECT 'prov-2127da5b93f2e4ed', 'زنجان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'زنجان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7473b594a866fc0c', 'استان سیستان وبلوچستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان سیستان وبلوچستان');
SELECT 'prov-a9d8994f85a4baa1', 'سمنان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'سمنان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-ce88252516c33bcd', 'استان فارس', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان فارس');
SELECT 'prov-7473b594a866fc0c', 'سیستان وبلوچستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'سیستان وبلوچستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-051c9d7434579ba9', 'استان قزوین', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان قزوین');
SELECT 'prov-ce88252516c33bcd', 'فارس', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'فارس');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-59bdab497e60231d', 'استان قم', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان قم');
SELECT 'prov-051c9d7434579ba9', 'قزوین', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'قزوین');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-9cd248fca43cf3e1', 'استان کردستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کردستان');
SELECT 'prov-59bdab497e60231d', 'قم', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'قم');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-f370a75e6696ac35', 'استان کرمان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کرمان');
SELECT 'prov-9cd248fca43cf3e1', 'کردستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کردستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-95d1978710f350b9', 'استان کرمانشاه', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کرمانشاه');
SELECT 'prov-f370a75e6696ac35', 'کرمان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کرمان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-9133a0ab97b44c42', 'استان کهگیلویه وبویراحمد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کهگیلویه وبویراحمد');
SELECT 'prov-95d1978710f350b9', 'کرمانشاه', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کرمانشاه');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-78a19214224fba5a', 'استان گلستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان گلستان');
SELECT 'prov-9133a0ab97b44c42', 'کهگیلویه وبویراحمد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کهگیلویه وبویراحمد');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-53658a2882958756', 'استان گیلان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان گیلان');
SELECT 'prov-78a19214224fba5a', 'گلستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'گلستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-5503435e124e6b8a', 'استان لرستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان لرستان');
SELECT 'prov-53658a2882958756', 'گیلان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'گیلان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-0e9b1e2a03ae998e', 'استان مازندران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان مازندران');
SELECT 'prov-5503435e124e6b8a', 'لرستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'لرستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-edd6a2122382dbfd', 'استان مرکزی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان مرکزی');
SELECT 'prov-0e9b1e2a03ae998e', 'مازندران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'مازندران');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-1b4881a3362e90cd', 'استان هرمزگان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان هرمزگان');
SELECT 'prov-edd6a2122382dbfd', 'مرکزی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'مرکزی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7b47361e6d5ffef0', 'استان همدان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان همدان');
SELECT 'prov-1b4881a3362e90cd', 'هرمزگان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'هرمزگان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-8eafb7340d3dfe31', 'استان یزد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان یزد');
SELECT 'prov-7b47361e6d5ffef0', 'همدان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'همدان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-8eafb7340d3dfe31', 'یزد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'یزد');
-- Make sure existing provinces point to city-iran as parent
UPDATE "City"
SET "parentId" = 'city-iran'
WHERE "name" LIKE 'استان%' AND "parentId" IS NULL;
WHERE "parentId" IS NULL AND "id" <> 'city-iran';
@@ -1,135 +1,162 @@
-- Migration: Populate all 31 provinces of Iran under Iran (country)
-- Leaves cities to be added manually by admin users as needed.
-- Migration: Populate all 31 provinces/cities of Iran without "استان" prefix
-- Clean names (تهران, اصفهان, فارس, خراسان رضوی, ...)
INSERT INTO "City" ("id", "name", "parentId")
VALUES ('city-iran', 'ایران', NULL)
ON CONFLICT ("id") DO NOTHING;
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-368ec488a60e1e68', 'استان آذربایجان شرقی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان آذربایجان شرقی');
-- If rows with 'city-tehran', etc. exist and have child relations, re-link them before cleanup
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-tehran') THEN
UPDATE "Customer" SET "cityId" = 'prov-e9dedb90e02298da' WHERE "cityId" = 'city-tehran';
UPDATE "Branch" SET "cityId" = 'prov-e9dedb90e02298da' WHERE "cityId" = 'city-tehran';
DELETE FROM "City" WHERE "id" = 'city-tehran';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-mashhad') THEN
UPDATE "Customer" SET "cityId" = 'prov-e10485d2d3377704' WHERE "cityId" = 'city-mashhad';
UPDATE "Branch" SET "cityId" = 'prov-e10485d2d3377704' WHERE "cityId" = 'city-mashhad';
DELETE FROM "City" WHERE "id" = 'city-mashhad';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-isfahan') THEN
UPDATE "Customer" SET "cityId" = 'prov-4bb74d0dee027e26' WHERE "cityId" = 'city-isfahan';
DELETE FROM "City" WHERE "id" = 'city-isfahan';
END IF;
IF EXISTS (SELECT 1 FROM "City" WHERE "id" = 'city-tabriz') THEN
UPDATE "Customer" SET "cityId" = 'prov-368ec488a60e1e68' WHERE "cityId" = 'city-tabriz';
DELETE FROM "City" WHERE "id" = 'city-tabriz';
END IF;
END $$;
-- Strip any existing 'استان ' prefix
UPDATE "City"
SET "name" = regexp_replace("name", '^استان\s+', '')
WHERE "name" LIKE 'استان %';
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-059893dce6617346', 'استان آذربایجان غربی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان آذربایجان غربی');
SELECT 'prov-368ec488a60e1e68', 'آذربایجان شرقی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'آذربایجان شرقی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7f952fb4706a65b2', 'استان اردبیل', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان اردبیل');
SELECT 'prov-059893dce6617346', 'آذربایجان غربی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'آذربایجان غربی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-4bb74d0dee027e26', 'استان اصفهان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان اصفهان');
SELECT 'prov-7f952fb4706a65b2', 'اردبیل', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'اردبیل');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-d5a20c324e2bf5ec', 'استان البرز', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان البرز');
SELECT 'prov-4bb74d0dee027e26', 'اصفهان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'اصفهان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-1fd9876fd977c8e2', 'استان ایلام', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان ایلام');
SELECT 'prov-d5a20c324e2bf5ec', 'البرز', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'البرز');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-6f0490cb87e4939d', 'استان بوشهر', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان بوشهر');
SELECT 'prov-1fd9876fd977c8e2', 'ایلام', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'ایلام');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-e9dedb90e02298da', 'استان تهران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان تهران');
SELECT 'prov-6f0490cb87e4939d', 'بوشهر', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'بوشهر');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-f23cd3502271e60d', 'استان چهارمحال وبختیاری', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان چهارمحال وبختیاری');
SELECT 'prov-e9dedb90e02298da', 'تهران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'تهران');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-b14f3eca6f74c8a1', 'استان خراسان جنوبی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان جنوبی');
SELECT 'prov-f23cd3502271e60d', 'چهارمحال وبختیاری', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'چهارمحال وبختیاری');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-e10485d2d3377704', 'استان خراسان رضوی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان رضوی');
SELECT 'prov-b14f3eca6f74c8a1', 'خراسان جنوبی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان جنوبی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-82f38d7aa96738ef', 'استان خراسان شمالی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خراسان شمالی');
SELECT 'prov-e10485d2d3377704', 'خراسان رضوی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان رضوی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-c6de3aa600da89fe', 'استان خوزستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان خوزستان');
SELECT 'prov-82f38d7aa96738ef', 'خراسان شمالی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خراسان شمالی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-2127da5b93f2e4ed', 'استان زنجان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان زنجان');
SELECT 'prov-c6de3aa600da89fe', 'خوزستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'خوزستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-a9d8994f85a4baa1', 'استان سمنان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان سمنان');
SELECT 'prov-2127da5b93f2e4ed', 'زنجان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'زنجان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7473b594a866fc0c', 'استان سیستان وبلوچستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان سیستان وبلوچستان');
SELECT 'prov-a9d8994f85a4baa1', 'سمنان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'سمنان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-ce88252516c33bcd', 'استان فارس', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان فارس');
SELECT 'prov-7473b594a866fc0c', 'سیستان وبلوچستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'سیستان وبلوچستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-051c9d7434579ba9', 'استان قزوین', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان قزوین');
SELECT 'prov-ce88252516c33bcd', 'فارس', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'فارس');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-59bdab497e60231d', 'استان قم', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان قم');
SELECT 'prov-051c9d7434579ba9', 'قزوین', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'قزوین');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-9cd248fca43cf3e1', 'استان کردستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کردستان');
SELECT 'prov-59bdab497e60231d', 'قم', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'قم');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-f370a75e6696ac35', 'استان کرمان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کرمان');
SELECT 'prov-9cd248fca43cf3e1', 'کردستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کردستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-95d1978710f350b9', 'استان کرمانشاه', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کرمانشاه');
SELECT 'prov-f370a75e6696ac35', 'کرمان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کرمان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-9133a0ab97b44c42', 'استان کهگیلویه وبویراحمد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان کهگیلویه وبویراحمد');
SELECT 'prov-95d1978710f350b9', 'کرمانشاه', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کرمانشاه');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-78a19214224fba5a', 'استان گلستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان گلستان');
SELECT 'prov-9133a0ab97b44c42', 'کهگیلویه وبویراحمد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'کهگیلویه وبویراحمد');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-53658a2882958756', 'استان گیلان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان گیلان');
SELECT 'prov-78a19214224fba5a', 'گلستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'گلستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-5503435e124e6b8a', 'استان لرستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان لرستان');
SELECT 'prov-53658a2882958756', 'گیلان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'گیلان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-0e9b1e2a03ae998e', 'استان مازندران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان مازندران');
SELECT 'prov-5503435e124e6b8a', 'لرستان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'لرستان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-edd6a2122382dbfd', 'استان مرکزی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان مرکزی');
SELECT 'prov-0e9b1e2a03ae998e', 'مازندران', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'مازندران');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-1b4881a3362e90cd', 'استان هرمزگان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان هرمزگان');
SELECT 'prov-edd6a2122382dbfd', 'مرکزی', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'مرکزی');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-7b47361e6d5ffef0', 'استان همدان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان همدان');
SELECT 'prov-1b4881a3362e90cd', 'هرمزگان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'هرمزگان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-8eafb7340d3dfe31', 'استان یزد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'استان یزد');
SELECT 'prov-7b47361e6d5ffef0', 'همدان', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'همدان');
INSERT INTO "City" ("id", "name", "parentId")
SELECT 'prov-8eafb7340d3dfe31', 'یزد', 'city-iran'
WHERE NOT EXISTS (SELECT 1 FROM "City" WHERE "name" = 'یزد');
-- Make sure existing provinces point to city-iran as parent
UPDATE "City"
SET "parentId" = 'city-iran'
WHERE "name" LIKE 'استان%' AND "parentId" IS NULL;
WHERE "parentId" IS NULL AND "id" <> 'city-iran';