payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
112 lines (111 loc) • 10.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "migrate", {
enumerable: true,
get: function() {
return migrate;
}
});
const _minimist = /*#__PURE__*/ _interop_require_default(require("minimist"));
const _ = /*#__PURE__*/ _interop_require_default(require(".."));
const _logger = require("../utilities/logger");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
/**
* The default logger's options did not allow for forcing sync logging
* Using these options, to force both pretty print and sync logging
*/ const prettySyncLogger = {
loggerDestination: _logger.prettySyncLoggerDestination,
loggerOptions: {}
};
const availableCommands = [
'migrate',
'migrate:create',
'migrate:down',
'migrate:refresh',
'migrate:reset',
'migrate:status',
'migration:fresh'
];
const availableCommandsMsg = `Available commands: ${availableCommands.join(', ')}`;
const migrate = async (parsedArgs)=>{
const { _: args, file, forceAcceptWarning, help } = parsedArgs;
if (help) {
// eslint-disable-next-line no-console
console.log(`\n\n${availableCommandsMsg}\n`) // Avoid having to init payload to get the logger
;
process.exit(0);
}
process.env.PAYLOAD_MIGRATING = 'true';
// Barebones instance to access database adapter
await _.default.init({
disableOnInit: true,
local: true,
secret: process.env.PAYLOAD_SECRET || '--unused--',
...prettySyncLogger
});
const adapter = _.default.db;
if (!adapter) {
throw new Error('No database adapter found');
}
if (!args.length) {
_.default.logger.error({
msg: `No migration command provided. ${availableCommandsMsg}`
});
process.exit(1);
}
switch(args[0]){
case 'migrate':
await adapter.migrate();
break;
case 'migrate:status':
await adapter.migrateStatus();
break;
case 'migrate:down':
await adapter.migrateDown();
break;
case 'migrate:refresh':
await adapter.migrateRefresh();
break;
case 'migrate:reset':
await adapter.migrateReset();
break;
case 'migrate:fresh':
await adapter.migrateFresh({
forceAcceptWarning
});
break;
case 'migrate:create':
try {
await adapter.createMigration({
file,
forceAcceptWarning,
migrationName: args[1],
payload: _.default
});
} catch (err) {
throw new Error(`Error creating migration: ${err.message}`);
}
break;
default:
_.default.logger.error({
msg: `Unknown migration command: ${args[0]}. ${availableCommandsMsg}`
});
process.exit(1);
}
_.default.logger.info('Done.');
};
// When launched directly call migrate
if (module.id === require.main.id) {
const args = (0, _minimist.default)(process.argv.slice(2));
// eslint-disable-next-line @typescript-eslint/no-floating-promises
migrate(args).then(()=>{
process.exit(0);
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vbWlncmF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhcnNlZEFyZ3MgfSBmcm9tICdtaW5pbWlzdCdcblxuaW1wb3J0IG1pbmltaXN0IGZyb20gJ21pbmltaXN0J1xuXG5pbXBvcnQgcGF5bG9hZCBmcm9tICcuLidcbmltcG9ydCB7IHByZXR0eVN5bmNMb2dnZXJEZXN0aW5hdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9sb2dnZXInXG5cbi8qKlxuICogVGhlIGRlZmF1bHQgbG9nZ2VyJ3Mgb3B0aW9ucyBkaWQgbm90IGFsbG93IGZvciBmb3JjaW5nIHN5bmMgbG9nZ2luZ1xuICogVXNpbmcgdGhlc2Ugb3B0aW9ucywgdG8gZm9yY2UgYm90aCBwcmV0dHkgcHJpbnQgYW5kIHN5bmMgbG9nZ2luZ1xuICovXG5jb25zdCBwcmV0dHlTeW5jTG9nZ2VyID0ge1xuICBsb2dnZXJEZXN0aW5hdGlvbjogcHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uLFxuICBsb2dnZXJPcHRpb25zOiB7fSxcbn1cblxuY29uc3QgYXZhaWxhYmxlQ29tbWFuZHMgPSBbXG4gICdtaWdyYXRlJyxcbiAgJ21pZ3JhdGU6Y3JlYXRlJyxcbiAgJ21pZ3JhdGU6ZG93bicsXG4gICdtaWdyYXRlOnJlZnJlc2gnLFxuICAnbWlncmF0ZTpyZXNldCcsXG4gICdtaWdyYXRlOnN0YXR1cycsXG4gICdtaWdyYXRpb246ZnJlc2gnLFxuXVxuXG5jb25zdCBhdmFpbGFibGVDb21tYW5kc01zZyA9IGBBdmFpbGFibGUgY29tbWFuZHM6ICR7YXZhaWxhYmxlQ29tbWFuZHMuam9pbignLCAnKX1gXG5cbmV4cG9ydCBjb25zdCBtaWdyYXRlID0gYXN5bmMgKHBhcnNlZEFyZ3M6IFBhcnNlZEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgeyBfOiBhcmdzLCBmaWxlLCBmb3JjZUFjY2VwdFdhcm5pbmcsIGhlbHAgfSA9IHBhcnNlZEFyZ3NcbiAgaWYgKGhlbHApIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGBcXG5cXG4ke2F2YWlsYWJsZUNvbW1hbmRzTXNnfVxcbmApIC8vIEF2b2lkIGhhdmluZyB0byBpbml0IHBheWxvYWQgdG8gZ2V0IHRoZSBsb2dnZXJcbiAgICBwcm9jZXNzLmV4aXQoMClcbiAgfVxuXG4gIHByb2Nlc3MuZW52LlBBWUxPQURfTUlHUkFUSU5HID0gJ3RydWUnXG5cbiAgLy8gQmFyZWJvbmVzIGluc3RhbmNlIHRvIGFjY2VzcyBkYXRhYmFzZSBhZGFwdGVyXG4gIGF3YWl0IHBheWxvYWQuaW5pdCh7XG4gICAgZGlzYWJsZU9uSW5pdDogdHJ1ZSxcbiAgICBsb2NhbDogdHJ1ZSxcbiAgICBzZWNyZXQ6IHByb2Nlc3MuZW52LlBBWUxPQURfU0VDUkVUIHx8ICctLXVudXNlZC0tJyxcbiAgICAuLi5wcmV0dHlTeW5jTG9nZ2VyLFxuICB9KVxuXG4gIGNvbnN0IGFkYXB0ZXIgPSBwYXlsb2FkLmRiXG5cbiAgaWYgKCFhZGFwdGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBkYXRhYmFzZSBhZGFwdGVyIGZvdW5kJylcbiAgfVxuXG4gIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICBtc2c6IGBObyBtaWdyYXRpb24gY29tbWFuZCBwcm92aWRlZC4gJHthdmFpbGFibGVDb21tYW5kc01zZ31gLFxuICAgIH0pXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH1cblxuICBzd2l0Y2ggKGFyZ3NbMF0pIHtcbiAgICBjYXNlICdtaWdyYXRlJzpcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWlncmF0ZSgpXG4gICAgICBicmVha1xuICAgIGNhc2UgJ21pZ3JhdGU6c3RhdHVzJzpcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWlncmF0ZVN0YXR1cygpXG4gICAgICBicmVha1xuICAgIGNhc2UgJ21pZ3JhdGU6ZG93bic6XG4gICAgICBhd2FpdCBhZGFwdGVyLm1pZ3JhdGVEb3duKClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSAnbWlncmF0ZTpyZWZyZXNoJzpcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWlncmF0ZVJlZnJlc2goKVxuICAgICAgYnJlYWtcbiAgICBjYXNlICdtaWdyYXRlOnJlc2V0JzpcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWlncmF0ZVJlc2V0KClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSAnbWlncmF0ZTpmcmVzaCc6XG4gICAgICBhd2FpdCBhZGFwdGVyLm1pZ3JhdGVGcmVzaCh7IGZvcmNlQWNjZXB0V2FybmluZyB9KVxuICAgICAgYnJlYWtcbiAgICBjYXNlICdtaWdyYXRlOmNyZWF0ZSc6XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhZGFwdGVyLmNyZWF0ZU1pZ3JhdGlvbih7XG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICBmb3JjZUFjY2VwdFdhcm5pbmcsXG4gICAgICAgICAgbWlncmF0aW9uTmFtZTogYXJnc1sxXSxcbiAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgY3JlYXRpbmcgbWlncmF0aW9uOiAke2Vyci5tZXNzYWdlfWApXG4gICAgICB9XG4gICAgICBicmVha1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgbXNnOiBgVW5rbm93biBtaWdyYXRpb24gY29tbWFuZDogJHthcmdzWzBdfS4gJHthdmFpbGFibGVDb21tYW5kc01zZ31gLFxuICAgICAgfSlcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9XG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbygnRG9uZS4nKVxufVxuXG4vLyBXaGVuIGxhdW5jaGVkIGRpcmVjdGx5IGNhbGwgbWlncmF0ZVxuaWYgKG1vZHVsZS5pZCA9PT0gcmVxdWlyZS5tYWluLmlkKSB7XG4gIGNvbnN0IGFyZ3MgPSBtaW5pbWlzdChwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXNcbiAgbWlncmF0ZShhcmdzKS50aGVuKCgpID0+IHtcbiAgICBwcm9jZXNzLmV4aXQoMClcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlIiwicHJldHR5U3luY0xvZ2dlciIsImxvZ2dlckRlc3RpbmF0aW9uIiwicHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uIiwibG9nZ2VyT3B0aW9ucyIsImF2YWlsYWJsZUNvbW1hbmRzIiwiYXZhaWxhYmxlQ29tbWFuZHNNc2ciLCJqb2luIiwicGFyc2VkQXJncyIsIl8iLCJhcmdzIiwiZmlsZSIsImZvcmNlQWNjZXB0V2FybmluZyIsImhlbHAiLCJjb25zb2xlIiwibG9nIiwicHJvY2VzcyIsImV4aXQiLCJlbnYiLCJQQVlMT0FEX01JR1JBVElORyIsInBheWxvYWQiLCJpbml0IiwiZGlzYWJsZU9uSW5pdCIsImxvY2FsIiwic2VjcmV0IiwiUEFZTE9BRF9TRUNSRVQiLCJhZGFwdGVyIiwiZGIiLCJFcnJvciIsImxlbmd0aCIsImxvZ2dlciIsImVycm9yIiwibXNnIiwibWlncmF0ZVN0YXR1cyIsIm1pZ3JhdGVEb3duIiwibWlncmF0ZVJlZnJlc2giLCJtaWdyYXRlUmVzZXQiLCJtaWdyYXRlRnJlc2giLCJjcmVhdGVNaWdyYXRpb24iLCJtaWdyYXRpb25OYW1lIiwiZXJyIiwibWVzc2FnZSIsImluZm8iLCJtb2R1bGUiLCJpZCIsInJlcXVpcmUiLCJtYWluIiwibWluaW1pc3QiLCJhcmd2Iiwic2xpY2UiLCJ0aGVuIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRCYUE7OztlQUFBQTs7O2lFQTFCUTt5REFFRDt3QkFDd0I7Ozs7OztBQUU1Qzs7O0NBR0MsR0FDRCxNQUFNQyxtQkFBbUI7SUFDdkJDLG1CQUFtQkMsbUNBQTJCO0lBQzlDQyxlQUFlLENB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