A command npm run reset:db to recreate DB schema has been added, so we don't need to uncomment code here or here during local development to create a DB schema.
Though there is a risk of running this command in the production environment. To make it safer we can do the next thing:
When we run this command npm run reset:db we should show a prompt like Are you sure you want to recreate the DB "<DB_NAME>" schema on "<DB_HOST>" by user "<DB_USER_WITH_STARS>" and password "<DB_PASSWORD_WITH_STARS>"? This would REMOVE all existent data if any.
A user should type yes and press Enter to confirm. Typing anything else should cancel the command.
<DB_USER_WITH_STARS> should show the user, but only first 2 and last 2 characters visible, the rest are replaced by *. For example, instead of coder show co*er.
<DB_PASSOWRD_WITH_STARS> should show the password, but only first 1 and last 1 characters visible, the rest are replaced by *. For example, instead of mysecretpassword show m**************d.
We also have to be able to run the command npm run reset:db using scripts automatically without the participation of a human. For such cases, we have to support an optional argument --yes, so the command could be run like npm run reset:db -- --yes. If the command run this way:
A command
npm run reset:db
to recreate DB schema has been added, so we don't need to uncomment code here or here during local development to create a DB schema.Though there is a risk of running this command in the production environment. To make it safer we can do the next thing:
When we run this command
npm run reset:db
we should show a prompt likeAre you sure you want to recreate the DB "<DB_NAME>" schema on "<DB_HOST>" by user "<DB_USER_WITH_STARS>" and password "<DB_PASSWORD_WITH_STARS>"? This would REMOVE all existent data if any.
yes
and pressEnter
to confirm. Typing anything else should cancel the command.<DB_USER_WITH_STARS>
should show the user, but only first 2 and last 2 characters visible, the rest are replaced by*
. For example, instead ofcoder
showco*er
.<DB_PASSOWRD_WITH_STARS>
should show the password, but only first 1 and last 1 characters visible, the rest are replaced by*
. For example, instead ofmysecretpassword
showm**************d
.We also have to be able to run the command
npm run reset:db
using scripts automatically without the participation of a human. For such cases, we have to support an optional argument--yes
, so the command could be run likenpm run reset:db -- --yes
. If the command run this way: