1.0.350.verify.sql 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. SELECT CASE WHEN
  2. (
  3. SELECT COUNT(*)
  4. FROM information_schema.TABLES t
  5. WHERE t.TABLE_SCHEMA=DATABASE()
  6. AND t.TABLE_NAME IN (
  7. 'mdp_stg_s4_iqc','mdp_stg_s4_return','mdp_stg_s4_shipment','mdp_stg_s4_shortage',
  8. 'mdp_std_delivery_schedule','mdp_std_delivery_result','mdp_std_material_readiness','mdp_std_process_outsource_order',
  9. 'dwd_supply_demand','dwd_supplier_delivery','dwd_supplier_risk','dwd_process_outsource_delivery',
  10. 'dwd_material_readiness','dwd_material_shortage','dwd_qc_trans'
  11. )
  12. AND NOT EXISTS (
  13. SELECT 1 FROM information_schema.COLUMNS c
  14. WHERE c.TABLE_SCHEMA=t.TABLE_SCHEMA AND c.TABLE_NAME=t.TABLE_NAME AND c.COLUMN_NAME='factory_id'
  15. )
  16. ) = 0
  17. AND (
  18. SELECT COUNT(*)
  19. FROM information_schema.TABLES t
  20. WHERE t.TABLE_SCHEMA=DATABASE() AND t.TABLE_NAME LIKE 'mdp_stg_%'
  21. AND (
  22. NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS c WHERE c.TABLE_SCHEMA=t.TABLE_SCHEMA AND c.TABLE_NAME=t.TABLE_NAME AND c.COLUMN_NAME='create_time')
  23. OR NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS c WHERE c.TABLE_SCHEMA=t.TABLE_SCHEMA AND c.TABLE_NAME=t.TABLE_NAME AND c.COLUMN_NAME='update_time')
  24. )
  25. ) = 0
  26. AND (
  27. SELECT COUNT(*)
  28. FROM (
  29. SELECT s.TABLE_NAME,s.INDEX_NAME
  30. FROM information_schema.STATISTICS s
  31. WHERE s.TABLE_SCHEMA=DATABASE()
  32. AND s.NON_UNIQUE=0
  33. AND s.INDEX_NAME<>'PRIMARY'
  34. AND s.TABLE_NAME IN (
  35. 'mdp_stg_s4_iqc','mdp_stg_s4_return','mdp_stg_s4_shipment','mdp_stg_s4_shortage',
  36. 'mdp_std_delivery_schedule','mdp_std_delivery_result','mdp_std_material_readiness','mdp_std_process_outsource_order',
  37. 'dwd_supply_demand','dwd_supplier_delivery','dwd_supplier_risk','dwd_process_outsource_delivery',
  38. 'dwd_material_readiness','dwd_qc_trans'
  39. )
  40. GROUP BY s.TABLE_NAME,s.INDEX_NAME
  41. HAVING SUM(s.COLUMN_NAME='factory_id')=0
  42. ) missing_factory_unique
  43. ) = 0
  44. AND (SELECT COUNT(*) FROM `dwd_supplier_delivery` WHERE `factory_id`<=0) = 0
  45. AND (SELECT COUNT(*) FROM `dwd_material_readiness` WHERE `factory_id`<=0) = 0
  46. AND (
  47. SELECT COUNT(*) FROM `aidop_migration_derived_cleanup_log`
  48. WHERE `migration_version`='1.0.350'
  49. AND `table_name`='dwd_process_outsource_delivery'
  50. AND `estimated_rows`>=90000000
  51. ) = 1
  52. THEN 1 ELSE 0 END AS ok;