@powerhousedao/network-admin 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/workstreams/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/workstreams/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE"}
@@ -13,23 +13,64 @@ export async function up(db) {
13
13
  catch (error) {
14
14
  // Type might already exist, ignore error
15
15
  }
16
- // Create table
17
- await db.schema
18
- .createTable("workstreams")
19
- .addColumn('network_phid', 'varchar(255)')
20
- .addColumn('network_slug', 'varchar(255)')
21
- .addColumn("workstream_phid", "varchar(255)")
22
- .addColumn('workstream_slug', 'varchar(255)')
23
- .addColumn('workstream_title', 'varchar(255)')
24
- .addColumn('workstream_status', sql `workstream_status`)
25
- .addColumn('sow_phid', 'varchar(255)')
26
- .addColumn('roadmap_oid', 'varchar(255)')
27
- .addColumn('final_milestone_target', 'timestamp')
28
- .addColumn('initial_proposal_status', sql `proposal_status`)
29
- .addColumn('initial_proposal_author', 'varchar(255)')
30
- .addPrimaryKeyConstraint("workstreams_pkey", ["workstream_phid"])
31
- .ifNotExists()
32
- .execute();
16
+ // Create table with IF NOT EXISTS
17
+ try {
18
+ await db.schema
19
+ .createTable("workstreams")
20
+ .addColumn('network_phid', 'varchar(255)')
21
+ .addColumn('network_slug', 'varchar(255)')
22
+ .addColumn("workstream_phid", "varchar(255)")
23
+ .addColumn('workstream_slug', 'varchar(255)')
24
+ .addColumn('workstream_title', 'varchar(255)')
25
+ .addColumn('workstream_status', sql `workstream_status`)
26
+ .addColumn('sow_phid', 'varchar(255)')
27
+ .addColumn('roadmap_oid', 'varchar(255)')
28
+ .addColumn('final_milestone_target', 'timestamp')
29
+ .addColumn('initial_proposal_status', sql `proposal_status`)
30
+ .addColumn('initial_proposal_author', 'varchar(255)')
31
+ .addPrimaryKeyConstraint("workstreams_pkey", ["workstream_phid"])
32
+ .ifNotExists()
33
+ .execute();
34
+ }
35
+ catch (error) {
36
+ // Table might already exist, continue to add missing columns
37
+ }
38
+ // Add missing columns if table already existed (migration upgrade path)
39
+ // Use try-catch since PostgreSQL doesn't support IF NOT EXISTS for ALTER TABLE ADD COLUMN
40
+ const addColumnIfNotExists = async (columnName, columnDef) => {
41
+ try {
42
+ if (typeof columnDef === 'string') {
43
+ await db.schema.alterTable("workstreams").addColumn(columnName, columnDef).execute();
44
+ }
45
+ else {
46
+ // For enum types (sql template), use ALTER TABLE with raw SQL
47
+ if (columnName === 'workstream_status') {
48
+ await sql `ALTER TABLE workstreams ADD COLUMN workstream_status workstream_status`.execute(db);
49
+ }
50
+ else if (columnName === 'initial_proposal_status') {
51
+ await sql `ALTER TABLE workstreams ADD COLUMN initial_proposal_status proposal_status`.execute(db);
52
+ }
53
+ }
54
+ }
55
+ catch (error) {
56
+ // Column already exists (error code 42701) - ignore
57
+ // Other errors might indicate issues, but we continue
58
+ if (error?.code !== '42701' && error?.code !== '42P16') {
59
+ console.warn(`Error adding column ${columnName}:`, error?.message || error);
60
+ }
61
+ }
62
+ };
63
+ await addColumnIfNotExists('network_phid', 'varchar(255)');
64
+ await addColumnIfNotExists('network_slug', 'varchar(255)');
65
+ await addColumnIfNotExists('workstream_phid', 'varchar(255)');
66
+ await addColumnIfNotExists('workstream_slug', 'varchar(255)');
67
+ await addColumnIfNotExists('workstream_title', 'varchar(255)');
68
+ await addColumnIfNotExists('workstream_status', sql `workstream_status`);
69
+ await addColumnIfNotExists('sow_phid', 'varchar(255)');
70
+ await addColumnIfNotExists('roadmap_oid', 'varchar(255)');
71
+ await addColumnIfNotExists('final_milestone_target', 'timestamp');
72
+ await addColumnIfNotExists('initial_proposal_status', sql `proposal_status`);
73
+ await addColumnIfNotExists('initial_proposal_author', 'varchar(255)');
33
74
  }
34
75
  export async function down(db) {
35
76
  // drop table
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@powerhousedao/network-admin",
3
3
  "description": "Network Admin package for Powerhouse",
4
- "version": "0.0.30",
4
+ "version": "0.0.31",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
7
7
  "files": [