File size: 2,646 Bytes
b127e68
 
 
 
8d1fdf5
b127e68
 
 
 
 
 
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
 
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8d1fdf5
b127e68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
b127e68
 
8d1fdf5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
-- MongoDB Migration Script for Warehouse Fields
-- This script should be run in MongoDB shell or via MongoDB Compass

-- Update warehouses missing created_at field
db.scm_warehouse.updateMany(
  { "created_at": { $exists: false } },
  { 
    $set: { 
      "created_at": "2025-01-01T00:00:00Z",
      "created_by": "system"
    } 
  }
);

-- Update warehouses with null created_at
db.scm_warehouse.updateMany(
  { "created_at": null },
  { 
    $set: { 
      "created_at": "2025-01-01T00:00:00Z",
      "created_by": "system"
    } 
  }
);

-- Update warehouses missing created_by field
db.scm_warehouse.updateMany(
  { "created_by": { $exists: false } },
  { $set: { "created_by": "system" } }
);

-- Update warehouses with null created_by
db.scm_warehouse.updateMany(
  { "created_by": null },
  { $set: { "created_by": "system" } }
);

-- Update warehouses missing updated_at field
db.scm_warehouse.updateMany(
  { "updated_at": { $exists: false } },
  { $set: { "updated_at": null } }
);

-- Update warehouses missing updated_by field
db.scm_warehouse.updateMany(
  { "updated_by": { $exists: false } },
  { $set: { "updated_by": null } }
);

-- Update warehouses missing capabilities field
db.scm_warehouse.updateMany(
  { "capabilities": { $exists: false } },
  { 
    $set: { 
      "capabilities": {
        "can_receive": true,
        "can_fulfil": true,
        "can_sell": false,
        "can_adjust": true,
        "can_stock_take": true
      }
    } 
  }
);

-- Update warehouses with null capabilities
db.scm_warehouse.updateMany(
  { "capabilities": null },
  { 
    $set: { 
      "capabilities": {
        "can_receive": true,
        "can_fulfil": true,
        "can_sell": false,
        "can_adjust": true,
        "can_stock_take": true
      }
    } 
  }
);

-- Verification queries
print("=== Migration Verification ===");

print("Warehouses missing created_at:");
db.scm_warehouse.countDocuments({ "created_at": { $exists: false } });

print("Warehouses with null created_at:");
db.scm_warehouse.countDocuments({ "created_at": null });

print("Warehouses missing created_by:");
db.scm_warehouse.countDocuments({ "created_by": { $exists: false } });

print("Warehouses with null created_by:");
db.scm_warehouse.countDocuments({ "created_by": null });

print("Warehouses missing capabilities:");
db.scm_warehouse.countDocuments({ "capabilities": { $exists: false } });

print("Warehouses with null capabilities:");
db.scm_warehouse.countDocuments({ "capabilities": null });

print("Total warehouses:");
db.scm_warehouse.countDocuments({});

print("=== Sample Documents ===");
db.scm_warehouse.find({}).limit(2).pretty();