diff --git a/src/cmds/seed/index.ts b/src/cmds/seed/index.ts new file mode 100644 index 0000000..f24183d --- /dev/null +++ b/src/cmds/seed/index.ts @@ -0,0 +1,29 @@ +import { execSync } from 'node:child_process' +import { logFailure, logSuccess } from '../../logger' + +const CMD = 'seed' + +const tableNameFunction = (url, tableName, columns) => { + try { + execSync( + `psql ${url} -c "INSERT INTO reseed_queue (table_name, column_names, status) VALUES ('${tableName}', '${columns}','in-line');"` + ) + logSuccess('Successfully reseeded') + } catch (error) { + logFailure({ error }) + } +} + +function addSeedCmd(program) { + program + .command(CMD) + .argument('url', 'Postgres database url to reseed') + .argument('', 'Table that is mapped to live columns') + .argument( + '[column names]', + '* for all live object columns or comma separated list of live object columns' + ) + .action(tableNameFunction) +} + +export default addSeedCmd diff --git a/src/index.ts b/src/index.ts index 1e47485..debb167 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,6 +20,7 @@ import addTailCmd from './cmds/tail' import addMigrateCmd from './cmds/migrate' import addEnableCmd from './cmds/enable' import addRunCmd from './cmds/run' +import addSeedCmd from './cmds/seed' addAddCmd(program) addCreateCmd(program) @@ -41,5 +42,6 @@ addStartCmd(program) addRunCmd(program) addTailCmd(program) addVersionCmd(program) +addSeedCmd(program) program.parse()