pgpm 2.3.0 → 2.4.1

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.
@@ -42,39 +42,35 @@ exports.default = async (argv, prompter, _options) => {
42
42
  WHERE datistemplate = FALSE AND datname NOT IN ('postgres')
43
43
  AND datname !~ '^pg_';
44
44
  `);
45
- let databases;
46
- ({ databases } = await prompter.prompt(argv, [
45
+ const { databases: dbname } = await prompter.prompt(argv, [
47
46
  {
48
- type: 'checkbox',
47
+ type: 'list',
49
48
  name: 'databases',
50
49
  message: 'Select a database',
51
50
  options: databasesResult.rows.map(row => row.datname),
52
51
  required: true
53
52
  }
54
- ]));
55
- const dbname = databases.filter(d => d.selected).map(d => d.value)[0];
53
+ ]);
56
54
  const selectedDb = await (0, pg_cache_1.getPgPool)({
57
55
  database: dbname
58
56
  });
59
57
  const dbsResult = await selectedDb.query(`
60
58
  SELECT id, name FROM collections_public.database;
61
59
  `);
62
- let database_ids;
63
- ({ database_ids } = await prompter.prompt({}, [
60
+ const { database_ids: selectedDatabaseName } = await prompter.prompt({}, [
64
61
  {
65
- type: 'checkbox',
62
+ type: 'list',
66
63
  name: 'database_ids',
67
- message: 'Select database_id(s)',
64
+ message: 'Select database_id',
68
65
  options: dbsResult.rows.map(db => db.name),
69
66
  required: true
70
67
  }
71
- ]));
72
- const selectedDatabaseNames = database_ids
73
- .filter(did => did.selected)
74
- .map(did => did.name);
68
+ ]);
69
+ const selectedDatabase = dbsResult.rows.find(db => db.name === selectedDatabaseName);
75
70
  const dbInfo = {
76
71
  dbname,
77
- database_ids: database_ids.map(did => dbsResult.rows.find(db => db.name === did.name).id)
72
+ databaseName: selectedDatabaseName,
73
+ database_ids: [selectedDatabase.id]
78
74
  };
79
75
  const { author, extensionName, metaExtensionName } = await prompter.prompt(argv, [
80
76
  {
@@ -88,14 +84,14 @@ exports.default = async (argv, prompter, _options) => {
88
84
  type: 'text',
89
85
  name: 'extensionName',
90
86
  message: 'Extension name',
91
- default: selectedDatabaseNames[0] || dbname,
87
+ default: selectedDatabaseName || dbname,
92
88
  required: true
93
89
  },
94
90
  {
95
91
  type: 'text',
96
92
  name: 'metaExtensionName',
97
93
  message: 'Meta extension name',
98
- default: 'svc',
94
+ default: `${selectedDatabaseName || dbname}-service`,
99
95
  required: true
100
96
  }
101
97
  ]);
@@ -111,7 +107,6 @@ exports.default = async (argv, prompter, _options) => {
111
107
  }
112
108
  ]);
113
109
  const outdir = (0, path_1.resolve)(project.workspacePath, 'packages/');
114
- prompter.close();
115
110
  await (0, core_1.exportMigrations)({
116
111
  project,
117
112
  options,
@@ -120,8 +115,10 @@ exports.default = async (argv, prompter, _options) => {
120
115
  schema_names,
121
116
  outdir,
122
117
  extensionName,
123
- metaExtensionName
118
+ metaExtensionName,
119
+ prompter
124
120
  });
121
+ prompter.close();
125
122
  console.log(`
126
123
 
127
124
  |||
@@ -40,39 +40,35 @@ export default async (argv, prompter, _options) => {
40
40
  WHERE datistemplate = FALSE AND datname NOT IN ('postgres')
41
41
  AND datname !~ '^pg_';
42
42
  `);
43
- let databases;
44
- ({ databases } = await prompter.prompt(argv, [
43
+ const { databases: dbname } = await prompter.prompt(argv, [
45
44
  {
46
- type: 'checkbox',
45
+ type: 'list',
47
46
  name: 'databases',
48
47
  message: 'Select a database',
49
48
  options: databasesResult.rows.map(row => row.datname),
50
49
  required: true
51
50
  }
52
- ]));
53
- const dbname = databases.filter(d => d.selected).map(d => d.value)[0];
51
+ ]);
54
52
  const selectedDb = await getPgPool({
55
53
  database: dbname
56
54
  });
57
55
  const dbsResult = await selectedDb.query(`
58
56
  SELECT id, name FROM collections_public.database;
59
57
  `);
60
- let database_ids;
61
- ({ database_ids } = await prompter.prompt({}, [
58
+ const { database_ids: selectedDatabaseName } = await prompter.prompt({}, [
62
59
  {
63
- type: 'checkbox',
60
+ type: 'list',
64
61
  name: 'database_ids',
65
- message: 'Select database_id(s)',
62
+ message: 'Select database_id',
66
63
  options: dbsResult.rows.map(db => db.name),
67
64
  required: true
68
65
  }
69
- ]));
70
- const selectedDatabaseNames = database_ids
71
- .filter(did => did.selected)
72
- .map(did => did.name);
66
+ ]);
67
+ const selectedDatabase = dbsResult.rows.find(db => db.name === selectedDatabaseName);
73
68
  const dbInfo = {
74
69
  dbname,
75
- database_ids: database_ids.map(did => dbsResult.rows.find(db => db.name === did.name).id)
70
+ databaseName: selectedDatabaseName,
71
+ database_ids: [selectedDatabase.id]
76
72
  };
77
73
  const { author, extensionName, metaExtensionName } = await prompter.prompt(argv, [
78
74
  {
@@ -86,14 +82,14 @@ export default async (argv, prompter, _options) => {
86
82
  type: 'text',
87
83
  name: 'extensionName',
88
84
  message: 'Extension name',
89
- default: selectedDatabaseNames[0] || dbname,
85
+ default: selectedDatabaseName || dbname,
90
86
  required: true
91
87
  },
92
88
  {
93
89
  type: 'text',
94
90
  name: 'metaExtensionName',
95
91
  message: 'Meta extension name',
96
- default: 'svc',
92
+ default: `${selectedDatabaseName || dbname}-service`,
97
93
  required: true
98
94
  }
99
95
  ]);
@@ -109,7 +105,6 @@ export default async (argv, prompter, _options) => {
109
105
  }
110
106
  ]);
111
107
  const outdir = resolve(project.workspacePath, 'packages/');
112
- prompter.close();
113
108
  await exportMigrations({
114
109
  project,
115
110
  options,
@@ -118,8 +113,10 @@ export default async (argv, prompter, _options) => {
118
113
  schema_names,
119
114
  outdir,
120
115
  extensionName,
121
- metaExtensionName
116
+ metaExtensionName,
117
+ prompter
122
118
  });
119
+ prompter.close();
123
120
  console.log(`
124
121
 
125
122
  |||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pgpm",
3
- "version": "2.3.0",
3
+ "version": "2.4.1",
4
4
  "author": "Constructive <developers@constructive.io>",
5
5
  "description": "PostgreSQL Package Manager - Database migration and package management CLI",
6
6
  "main": "index.js",
@@ -46,7 +46,7 @@
46
46
  "ts-node": "^10.9.2"
47
47
  },
48
48
  "dependencies": {
49
- "@pgpmjs/core": "^4.1.2",
49
+ "@pgpmjs/core": "^4.2.1",
50
50
  "@pgpmjs/env": "^2.8.11",
51
51
  "@pgpmjs/logger": "^1.3.5",
52
52
  "@pgpmjs/types": "^2.12.8",
@@ -74,5 +74,5 @@
74
74
  "pg",
75
75
  "pgsql"
76
76
  ],
77
- "gitHead": "c2e68f9808a87e3231d9b9af5e706bef5dbd2af8"
77
+ "gitHead": "5b93211b63e72bedcfabc7c4aa41c69ed33d0f6c"
78
78
  }