From 33f97749f6df3a6ce437cf7b4b759d350008aa2e Mon Sep 17 00:00:00 2001 From: denghy Date: Thu, 28 Mar 2019 18:29:50 +0800 Subject: [PATCH] vd_old_orders --- database/migrations/migrate_from_old.pgsql | 108 ++++++++++----------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/database/migrations/migrate_from_old.pgsql b/database/migrations/migrate_from_old.pgsql index d0f20f18..9539a454 100644 --- a/database/migrations/migrate_from_old.pgsql +++ b/database/migrations/migrate_from_old.pgsql @@ -3,7 +3,7 @@ -- 第一步:复制旧平台 ckb_custom 与 ckb_custom_handle_log 两表至新数据库 -- 第二步:建立物化视图 -CREATE MATERIALIZED VIEW logs AS +CREATE MATERIALIZED VIEW vd_old_orders AS SELECT ckb_custom_handle_log.custom_no, min((ckb_custom.card_number)::text) AS sim, @@ -124,7 +124,7 @@ INSERT INTO vd.virtual_orders ("type", sn, "source", company_id, package_id, pay MIN(created_at) AS created_at, MIN(created_at) AS updated_at FROM - logs + vd_old_orders GROUP BY order_type, order_sn ) ON CONFLICT (sn, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO UPDATE SET counts = excluded.counts, total_price = excluded.total_price, custom_price = excluded.custom_price; @@ -133,84 +133,84 @@ INSERT INTO vd.virtual_orders ("type", sn, "source", company_id, package_id, pay INSERT INTO vd.virtual_order_cards ("type", sim, order_id, company_id, package_id, counts, unit_price, service_start_at, service_end_at, created_at, updated_at) ( SELECT - logs.order_type AS "type", - logs.sim::BIGINT AS sim, + vd_old_orders.order_type AS "type", + vd_old_orders.sim::BIGINT AS sim, virtual_orders.ID AS order_id, - logs.company_id, - logs.package_id, - logs.counts, - logs.unit_price, - logs.service_start_at, - logs.service_end_at, - logs.created_at AS created_at, - logs.created_at AS updated_at + vd_old_orders.company_id, + vd_old_orders.package_id, + vd_old_orders.counts, + vd_old_orders.unit_price, + vd_old_orders.service_start_at, + vd_old_orders.service_end_at, + vd_old_orders.created_at AS created_at, + vd_old_orders.created_at AS updated_at FROM - logs - LEFT JOIN vd.virtual_orders ON virtual_orders.sn = logs.order_sn + vd_old_orders + LEFT JOIN vd.virtual_orders ON virtual_orders.sn = vd_old_orders.order_sn WHERE - logs.order_type = 0 + vd_old_orders.order_type = 0 ) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO UPDATE SET counts = excluded.counts, service_start_at = excluded.service_start_at, service_end_at = excluded.service_end_at; INSERT INTO vd.virtual_order_renewal_cards ("type", sim, order_id, company_id, package_id, counts, unit_price, service_start_at, service_end_at, created_at, updated_at) ( SELECT - logs.order_type AS "type", - logs.sim::BIGINT AS sim, + vd_old_orders.order_type AS "type", + vd_old_orders.sim::BIGINT AS sim, virtual_orders.ID AS order_id, - logs.company_id, - logs.package_id, - logs.counts, - logs.unit_price, - logs.service_start_at, - logs.service_end_at, - logs.created_at AS created_at, - logs.created_at AS updated_at + vd_old_orders.company_id, + vd_old_orders.package_id, + vd_old_orders.counts, + vd_old_orders.unit_price, + vd_old_orders.service_start_at, + vd_old_orders.service_end_at, + vd_old_orders.created_at AS created_at, + vd_old_orders.created_at AS updated_at FROM - logs - LEFT JOIN vd.virtual_orders ON virtual_orders.sn = logs.order_sn + vd_old_orders + LEFT JOIN vd.virtual_orders ON virtual_orders.sn = vd_old_orders.order_sn WHERE - logs.order_type = 1 + vd_old_orders.order_type = 1 ) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO UPDATE SET counts = excluded.counts, service_start_at = excluded.service_start_at, service_end_at = excluded.service_end_at; INSERT INTO vd.virtual_order_renewal_package_cards ("type", sim, order_id, company_id, package_id, counts, unit_price, service_start_at, service_end_at, created_at, updated_at) ( SELECT - logs.order_type AS "type", - logs.sim::BIGINT AS sim, + vd_old_orders.order_type AS "type", + vd_old_orders.sim::BIGINT AS sim, virtual_orders.ID AS order_id, - logs.company_id, - logs.package_id, - logs.counts, - logs.unit_price, - logs.service_start_at, - logs.service_end_at, - logs.created_at AS created_at, - logs.created_at AS updated_at + vd_old_orders.company_id, + vd_old_orders.package_id, + vd_old_orders.counts, + vd_old_orders.unit_price, + vd_old_orders.service_start_at, + vd_old_orders.service_end_at, + vd_old_orders.created_at AS created_at, + vd_old_orders.created_at AS updated_at FROM - logs - LEFT JOIN vd.virtual_orders ON virtual_orders.sn = logs.order_sn + vd_old_orders + LEFT JOIN vd.virtual_orders ON virtual_orders.sn = vd_old_orders.order_sn WHERE - logs.order_type = 2 + vd_old_orders.order_type = 2 ) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO UPDATE SET counts = excluded.counts, service_start_at = excluded.service_start_at, service_end_at = excluded.service_end_at; INSERT INTO vd.virtual_order_flows_package_cards ("type", sim, order_id, company_id, package_id, counts, unit_price, service_start_at, service_end_at, created_at, updated_at) ( SELECT - logs.order_type AS "type", - logs.sim::BIGINT AS sim, + vd_old_orders.order_type AS "type", + vd_old_orders.sim::BIGINT AS sim, virtual_orders.ID AS order_id, - logs.company_id, - logs.package_id, - logs.counts, - logs.unit_price, - logs.service_start_at, - logs.service_end_at, - logs.created_at AS created_at, - logs.created_at AS updated_at + vd_old_orders.company_id, + vd_old_orders.package_id, + vd_old_orders.counts, + vd_old_orders.unit_price, + vd_old_orders.service_start_at, + vd_old_orders.service_end_at, + vd_old_orders.created_at AS created_at, + vd_old_orders.created_at AS updated_at FROM - logs - LEFT JOIN vd.virtual_orders ON virtual_orders.sn = logs.order_sn + vd_old_orders + LEFT JOIN vd.virtual_orders ON virtual_orders.sn = vd_old_orders.order_sn WHERE - logs.order_type = 3 + vd_old_orders.order_type = 3 ) ON CONFLICT (sim, order_id, COALESCE(deleted_at::TIMESTAMP, '1970-01-01 08:00:00'::TIMESTAMP)) DO UPDATE SET counts = excluded.counts, service_start_at = excluded.service_start_at, service_end_at = excluded.service_end_at;