{"_id":"@database-revisions/cli","_rev":"5-af28522990f5ab1e5f506e28a6733eaa","name":"@database-revisions/cli","dist-tags":{"latest":"0.2.1"},"versions":{"0.0.0":{"private":false,"name":"@database-revisions/cli","version":"0.0.0","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"build/cli/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.2","node":"16.18.1"},"type":"commonjs","scripts":{"preinstall":"npm audit --audit-level low","clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"bunyan":"^1.8.15","mongoose":"^6.8.2","pg":"^8.8.0"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","@types/pg":"^8.6.6","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"2cdfa1edbdb737265a7d413e7cbdc081e86f8339","_id":"@database-revisions/cli@0.0.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-PFjc0xNGV036oDONCsb5GbHYMT1m6Q3tWRJTlt6mDAAFFMHj9QAwQTUl3Bmo2hy1QYLQvjf3c1jtZFvh+kRtSg==","shasum":"6bc73706088ecd4ba4e83013f882aff45ba73b5b","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.0.0.tgz","fileCount":22,"unpackedSize":55208,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNNfdQSjaxbzSfGDAIl7jIn79i7wJyoFoQEnmigfaJUgIhANUxbHtyAHfpx/c2E7cto1s3jvbO4JU0LwgoZG7p1dQ6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxiWDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3Zg//cIOCNkEtWvZnlLEnrHQ4yaRnieKcfqskmIOKrGmko6ZW7WD6\r\nmUqT/ZMwTyhS7B3OrGRyXAzDoU7TGtqvo2IifFK5et3bwnQ9AqVnwSR/O8eM\r\nIEQBlGwdVXET6CMidXjyXz9YVys4woQie/fVLFFryxcqBMWUC6AN7X18NWAP\r\nPAs8bEWCP45nrU5rsHaQ3c5wZQrALX63sFbBgBlbAXh/I1i95qVVfmmYit+u\r\n9V4l+6gkucaaN9nx2IZXDl5QznrMQNBH0mT5+C2mgGTUUsNU4sSYm++ijx/F\r\nP2OBC4/zbmdw5NuVhjxazYy+PEd00fCqoSy+gLWOq/QHI2Yk5DVnCIuUAen/\r\nwnqLzL8wZeSH7vaawyAcEaq3LkEbADntZNpXB05XHcc5UM7RI8B3gvCRBuO5\r\nhj2GxrKjnwbJUOkbTcGTngTqlaJzZL6TkEA5InJZk33++/3BaQxWz3Qwk872\r\njjoIIw2pTl4hFFd0oXbtQr8N8f0qYwqdkAy2iAKmZO/ysCCLJj/Lkd3y763p\r\nj4TrLAripopWynYx5VUJV4YW7FT4Wsmu455jx1R2XruYwp2Nr2gQNAH/0u1A\r\nKVt/hWRjUmrVRMeqJ0ql/VNTAUDEdtYl5+bOTpwIA5pfYDCTc5Cr8RDKf24T\r\nRXlnonGhF9aZD6TeqiIsjpCot9SaFwk9QaI=\r\n=tFZ0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.0.0_1673930115251_0.19242766485199825"},"_hasShrinkwrap":false},"0.0.1":{"private":false,"name":"@database-revisions/cli","version":"0.0.1","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"build/cli/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.2","node":"16.18.1"},"type":"commonjs","scripts":{"preinstall":"npm audit --audit-level low","clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"bunyan":"^1.8.15","mongoose":"^6.8.2","pg":"^8.8.0"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","@types/pg":"^8.6.6","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"9cdcd7cb0ad3e3c423543d787af85e2ba25f7154","_id":"@database-revisions/cli@0.0.1","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2TE3bLKVln6oPOcQ1R+O6xaFvhN+hmm46xQqbjRa94PPpLzxoH1Uzqrr58t+UQgGciADluL+lmYJW5bBFXYNSw==","shasum":"ea331370f339469f83060e801acd2572ea8e9a6e","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.0.1.tgz","fileCount":23,"unpackedSize":60613,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeFTeoQsdELXZwET87KxbRDVi1lOSoILh5wxUX/Nfp2wIgfaKj0iKopaJO4WVL/tfZWGkIGbvVZg0m1KznbLlDY20="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxicJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmfBAAiRvPIcY+zp6enN7W8GaHp/LAYGl4M8nb7/0Bkror7cSOixFj\r\nAcUsJK40CuDR4S6GbUaVdgkE9Q5IFcUCqDeAFAFCyXVuNoRoUYkpJEeg+3Z9\r\n7Tr99mKXtPuuq8SV0GcUdHSSKetebqkNZEDDiptr8pANy6xGA/niq5f4Wdf/\r\nJclyX7qLTTf/qN4vWghdqE/STXI6GUANiYlHwu7aEYcBLsNjbeNPkpzH0Z4Q\r\nrFpyYV3Pazn0blnEK+VFOb1J1rfTALZmWR9uvvwzsvE69E2F15kSwAP3C04x\r\nYHY+o9VQiLqNoQo0qcYDEJtM256s3tLTQzLgmwXd9bE4OAkJmUgVBQJ4Ovp2\r\nG8N4B0pXoz0R2BP4zRcz5X/Jhs8ni3YBkS3dp3skrqtesfeXy4aJO55ZfHVc\r\newSwHeNZTYrmpLR9XttO0nVFBLCIlxrguHhpMiQD0zkqafTcKvB03lQsUcsT\r\ngg7qVGFVJxN3CkJLRK5+leglWuyQpSvJXo5jeV+s9737fibOSczFpSOUa/k2\r\n0glHpKmL2bBsZnrIT0Ut+OrQTTLV0M2Gw1O9Puhc5mDxqML0pA05VRr1ZMuW\r\nIknuB5PrHfH09okGCBAwz8AJr0P9CVYUAl+GG8c22aMNdki6TKYd2lsqQAwr\r\nN0mlA5JRersGu7UYhKN0u+3Ur4QDaG2mnjY=\r\n=4i7L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.0.1_1673930504940_0.28643848595625077"},"_hasShrinkwrap":false},"0.0.2":{"private":false,"name":"@database-revisions/cli","version":"0.0.2","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"build/cli/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.2","node":"16.18.1"},"type":"commonjs","scripts":{"clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"bunyan":"^1.8.15","mongoose":"^6.8.2","pg":"^8.8.0"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","@types/pg":"^8.6.6","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"5a20ed5baa9dbb537311b3e1a3400c52a42c0ea4","_id":"@database-revisions/cli@0.0.2","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-z+GpHJMPvs6Pv/3eu9mdHQI8e4iwydXNaDDRLkg45YElt8rUWSXEBj+aWQzyLHxJOnbGeB++NaILwPGMXt4/mQ==","shasum":"aaa8eec33fbf39610846f71922273d5a7cea1305","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.0.2.tgz","fileCount":23,"unpackedSize":60564,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCspHzsqwnTo2jktHvySpq8kLWUKFQYGcN0SWJVwbCRvAIhAKeV1r1kP2KI01Y5YNlvhrCfjr/JcuxBN5OxPr9Uk7ku"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxijtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2Aw/+M5fKzO3I2eOYkHSbB1udCD0gHp1VrtOFkGiEnmC0+8HOsjff\r\nGDkGOY0q5iJmOEktEGNGI/nqTNzjblzyx6S7jwinuRHJTjNrfCFBFlzrSv9p\r\nQKDmsqw06fzLRR/6rHYRuYwA2yhzLEHCXc7XljBHVdEKRm75wYYo8L4sBkm0\r\nfVgIybY+i7A0bb0HSV9nFwYLWr7q3w/S3PrFn3OArlhcSs1U8Bbj3U7/QFqf\r\nNBcf5HshTdJnTtaKCqzvgcuudKXOgWkCYcYI6+UtCLcyYx9Um6ZQhTP3f5Gq\r\n2a7q8780zpRt/I3Ch0cmL6MGIqCf+6rB49QWjbtYBU86MGHc6NfLDtrRiFms\r\n1JK5R58JJiB6qz6UOLwFPKfZnA67GyDgOY3uYq1ggmXLmlGTFkwl7rJM4jg7\r\noBE8pw3VkPh96yl9ke4Jhf20JO3QTrtiRF9ryjIOrR0XGo1KyKIoLx8Pt/w+\r\noNS4TCySqjdoe7GoMmpfH9xEip0p1rpzOCiEtFuctAaakGsUzQELRmrP3pvB\r\nf2BJhzeLs+Tun10oOaaMegeAqbvpQfjw4A5HUCy833Rc8HDXjrS5gq0mUOXm\r\n7VPnc4IdzSdcwpNYr3i7DyE5DTe6uhUYcfd1qGsqUuc767LtGX6Sj4CsUHBD\r\nd9SaKxvU0X9xyP/HkALgB945TtF3CPPmk3Q=\r\n=mIfS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.0.2_1673930989427_0.29320296675667357"},"_hasShrinkwrap":false},"0.1.0":{"private":false,"name":"@database-revisions/cli","version":"0.1.0","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"build/cli/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.2","node":"16.18.1"},"type":"commonjs","scripts":{"clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"bunyan":"^1.8.15","mongoose":"^6.8.2","pg":"^8.8.0"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","@types/pg":"^8.6.6","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"9bbcf313c1c18248d796532b8cc6f41b7027384f","_id":"@database-revisions/cli@0.1.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4gjjQhLxClyfTXTS2H6F6lEYhYUJaVU8jPoVHwvJ4vmDOIIcGok8Sxc28STK+8rEMfwYBtPnVU8WEJgrorxRvQ==","shasum":"33af48c153ff2fd51f08067118ffc5d7dba8e4fe","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.1.0.tgz","fileCount":23,"unpackedSize":60549,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANUM6FXX4wrDoJnXQj36KJ8L99fyaFQV9U/MDu/x+JsAiEAtJVaZuT71kFSEgp7x92tPOFF3b2gKp7/6CAe8DufnSo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxr45ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoe/RAAoeFyJZv9yd0af+eBS7HonDWOwAG3MfiLzS5irlNW0YkAFpJM\r\nY6vt7ExlrI6KyL6QUHbdBKh4bmXDk4/0q6OVP8pJVcSNafm1r6iydHrzggsr\r\ntMGjzh62kPFqvsnr6yPxmghIEYQxL+v8E0Be+BNXKcOI0in8ad41SfttCqLX\r\ndmN8L5F8jp9gSW9I4ZQTGW9lX5CNTpftleqd7d/7bH+ITXwG2v1Zh5UkSnEH\r\nIBRGnrciVquGSObxY83v6lwAEZ+3ylqaLdMrne1G3htgqeEr9Ljesz57E6TQ\r\n94zewB45U9lEI8ZDKsBjIWJZ6W1RjtYA9POZtuo2M8Da17cyxKizJMufYQR0\r\nTeSZc1xO/lp8dj80+KvTeTYOQYrYfqCX+6+lYRPDc5WsLJ7U/RNlQnZc2upK\r\nsGGfU09+T2uSQ2/zGt4tSGFKKV+91z5RIKi5yTfUWqZSoY2NpjUhfywF6QEL\r\n/smKHWlj9Yap4xiry+BQBUzj640gfD8nL85Hdpv/Ir2eh8sglO1OOj9QSg13\r\nqx7EM6KhiBivlpDjMbAF0+FXT8Cp1HDHjFM+80z0h5XWcpbS2qmZLdEj7QZt\r\n857o8H+ZOkRWW61Ss1eBaNsPYNEHvN0ffl5atIV7WfMZfWwC4yFrQ/z3uhvb\r\nfGB9BVXMkN741HxrdcVqLke6MMI5XdNy8QI=\r\n=mM1S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.1.0_1673969208951_0.0065933214808981955"},"_hasShrinkwrap":false},"0.2.0":{"private":false,"name":"@database-revisions/cli","version":"0.2.0","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"./build/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.3","node":"18.13.0"},"type":"commonjs","scripts":{"clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"@types/prompts":"^2.4.2","bunyan":"^1.8.15","prompts":"^2.4.2"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"1f23fb38d4877172d7f7322013af9893980e204e","_id":"@database-revisions/cli@0.2.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-96S3ZG0SGGj40Rg7PvxQ1pXCOoor6OuCBWxVMwNeTbNoxWFnJmOXb7QIMTTgKgud85c9pGcpX6PXIujU7EIXMA==","shasum":"1abf3ce604060eb604378c0722805a90f5ec6ad4","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.2.0.tgz","fileCount":23,"unpackedSize":49357,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBeXnZan+xUUDOGBaIfACYlBFq8YhZo3mUx6IMOW+90uAiEAvw85s54uQBTjM63f1A5TWSkqnhTHXQMtp/RT/6ZSnNM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0DRhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6Eg/9FL4Okb/zFkBDi0Y8+rlnhwzv+15hQ6Rr8AvYpiFCB+OnUswo\r\nLUGM7hqAAeO0AvOqHvm7f68PNSRN5dJ9R1Lh9tiqdUK7ajKmBLHFS5dzDBKd\r\ncsDWWk2ZKBdTE5QUdUZvBtzyufUVSOS8kEDb9w3zasoBvTpiMI/io+uoUDY4\r\ng0FwmvgUV9Ijyc63y1IPcqm9Xcpx0fbUwDXpxFDisjgG6ZyTUwbYOGdmCguo\r\nBQpr+iKR9E1ndbg9XzaJKHlrBvFdIIy0FLBRKqQ1bEdUmK3X77D02MD2U4bk\r\nbfyyxeIZfV7FhoXS8qU9mxYUHgCKR/9P/tw6C9SmiCoX9+4VsyKSYZgiXb9h\r\npaxGU/+2kNV6tqtfEuaICXC6XnBulDChPwHErBU2gidKKgMNx2yrSagHX6Ho\r\nqDedHS7zIL19V3hFsDz1VE8LQa7X9lLHHTt+erPGYHl3DuirNL7gzuF5S2KI\r\nrFDGqXi3it9wox4kEhmqcEOA/TJsgVnOQzBlNtF49Y5Qb+pP+cKavJ0HSZm6\r\n9IcHvlr/yUIhv4Y4OO5hmVgVXhmutuDhGF5sDHIMkSc566q7K52HbFJ9XeVG\r\ncrj4s2Gejo4aYDIhueDME9x35EjV7+Arn1+AEPBaEbjyPIGzTRewLoQoV9WT\r\nuHiR8Tq7CHdfisHnJA9VwtdegZFEJcg4WKw=\r\n=tBry\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.2.0_1674589281127_0.7774438946476656"},"_hasShrinkwrap":false},"0.2.1":{"private":false,"name":"@database-revisions/cli","version":"0.2.1","description":"A lightweight database migration tool for SQL and no-SQL databases","author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"license":"MIT","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"main":"./build/index.js","bin":{"db":"bin/cli.js","database-revisions":"bin/cli.js","migrate":"bin/cli.js","revisions":"bin/cli.js"},"engine":{"npm":"8.19.3","node":"18.13.0"},"type":"commonjs","scripts":{"clean":"rm -fr ./build","build":"npx tsc --project ./tsconfig.build.json"},"dependencies":{"@types/prompts":"^2.4.2","bunyan":"^1.8.15","prompts":"^2.4.2"},"devDependencies":{"@database-revisions/types":"file:../types","@types/bunyan":"^1.8.8","typescript":"^4.9.4"},"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"homepage":"https://github.com/eddiecorrigall/database-revisions#readme","gitHead":"fcff6fda4eb8b59b5e3b30018db5b80b6d4d7edd","_id":"@database-revisions/cli@0.2.1","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-UOqlO30n/iHc71LHcv+uY5n1GkmksDM3nvK0cLzkbZRNqiH3UBMAsGuf1M9x7bHA8Fwt0vupwwZUYfRMNpKHUQ==","shasum":"5c3595ace9eea128eb8937e9ce9325d5a77b5363","tarball":"https://registry.npmjs.org/@database-revisions/cli/-/cli-0.2.1.tgz","fileCount":23,"unpackedSize":49357,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4MXQ631SHx7Glnw4Wq7Byv5UKv8emXO+s1ALvexXIjQIgSgvocGMOM26PQ4LnUgOLCCQPY9UIqxhJNZjIF6Mm4u4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0EHPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvEw//XV1aqmCfZ6h2Zzki3ydCvFAVH2SzTlw8iyomxHc6iMmpJJmL\r\nbN1xROadPENPKvTbH/wB2BYId0YItLDMj51tliYX9pZ+H5otofyDneGJYWwy\r\nLy8f84xNXWUBbXf+FOrqVAJLh88T366cCgPHYxMaC+pwv+tiMKPrVgUR23tf\r\nY3Cznz6ymuRPgDBfC8uuSWE0ehw203qbQR+1lqAz1hwaoNs/kfNKcgAPgO5/\r\nwDlynqPEul7qTLImTbrap8rBm5PqqeaxNb2oQT5fMSpbWK7wG0QY9pmi3j2F\r\n3Bpd2azAz9LRoXHyIUINurChDfml9a4MPMUjzyPCFXQqFV7qW6mXNxAY0nFO\r\nk5DhfzS74F08SN2iUgnOMW3mF+3gY5h68fua9mW6ReH6LDKVQBxOmMsc+aOC\r\nrAaEtizPdBvTx+i/OO4k5LmkMlH8Dd9vtwqHbk73dunsiY0El3mMT/4S3BV5\r\nNoZU66Y5EkFnBvQPOz0+r7uJJ4Y99ZQEDF+FfBBpCKyoq31xZAcd5V0UbwrU\r\nyXOrhg3BMJO6GOB0XGku0L6mfiEj2grHSnLn2IwBueLOhE6zwrsX3NcI61mJ\r\n9Z/7LhS3Ig7HSX92XSb+2ntT9R54ANi0spp+R8Bvi8y2RWwdVkt85K3fPFv1\r\nHO4H4wGallpEXy6GWtpdD7B3eR4wpxbUahg=\r\n=MGdk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"},"directories":{},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cli_0.2.1_1674592719119_0.07797877005249454"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-17T04:35:15.175Z","0.0.0":"2023-01-17T04:35:15.418Z","modified":"2023-01-24T20:38:39.433Z","0.0.1":"2023-01-17T04:41:45.134Z","0.0.2":"2023-01-17T04:49:49.610Z","0.1.0":"2023-01-17T15:26:49.155Z","0.2.0":"2023-01-24T19:41:21.432Z","0.2.1":"2023-01-24T20:38:39.326Z"},"maintainers":[{"name":"eddiecorrigall","email":"eddiecorrigall@gmail.com"}],"description":"A lightweight database migration tool for SQL and no-SQL databases","homepage":"https://github.com/eddiecorrigall/database-revisions#readme","keywords":["db","migration","migrate","revision","version","sql","nosql","mongoose","mongodb","postgres","devops"],"repository":{"type":"git","url":"git+https://github.com/eddiecorrigall/database-revisions.git"},"author":{"name":"Eddie Corrigall","email":"eddiecorrigall@gmail.com"},"bugs":{"url":"https://github.com/eddiecorrigall/database-revisions/issues"},"license":"MIT","readme":"# @database-revisions/cli\n\n[![Build Status](https://github.com/eddiecorrigall/database-revisions/actions/workflows/main.yml/badge.svg)](https://github.com/eddiecorrigall/database-revisions/actions/workflows/main.yml)\n\nWritten in JavaScript, database-revisions is a lightweight database migration tool for usage with SQL and no-SQL databases such as MongoDB and PostgreSQL.\n\n## Goals\n- Revision immutability for reproducible database migrations\n- Support for SQL and no-SQL databases using plugins\n- Compatibility with Continuous Delivery / Continuous Integrations\n\nCandidates for database implementations require support for:\n- [Database Transactions](https://en.wikipedia.org/wiki/Database_transaction) to guarantee the state of the database is predictable even when a revision upgrade or downgrade fails\n- [Database Resource Locks](https://www.postgresql.org/docs/current/explicit-locking.html) to control concurrent access to the \"migrations table\" to prevent race conditions and unexpected behaviour\n\n| Command             | Description                                      |\n| ------------------- | ------------------------------------------------ |\n| `init`              | interactive prompt for project and config setup  |\n| `new [description]` | create a new revision                            |\n| `version`           | show the current persisted version               |\n| `list`              | list revision files                              |\n| `up`                | upgrade database using **all pending revisions** |\n| `down`              | downgrade database using **current revision**    |\n| `help`              | show help menu                                   |\n\n### Installation\n\n```bash\n# Create new project folder\nmkdir my-project\n\n# Setup a node project\nnpm init\n\n# Install packages\nnpm install @database-revisions/cli\nnpm install @database-revisions/postgres\n\n# Configure CLI tool\nnpx db init\n\n# Print out help\nnpx db help\n```\n\n## How It Works\n\nEach revision has:\n- **previous version** - describes its dependency to another revision\n- **up** function - provides a database client session that has been setup to be transactional, and it used to make changes to the database in an \"up\" direction\n- **down** function - similar to the **up** function in that it is provided a session but should be written for the \"down\" direction to revert changes that the \"up\" function performs\n\nA version of a revision is computed as a [Merkle Tree](https://en.wikipedia.org/wiki/Merkle_tree). That is the revision without a previous version (the first revision with base dependency) computes its version by hashing the contents of the revision file.\n\n```javascript\nfirstRevision = {\n  previousVersion = undefined,\n  version = hash('001_my-first.revision.js', 'sha1')\n}\n```\n\nWhereas the second revision depends on the first revision, so its previous version will be that of the first revision.\n\n```javascript\nsecondRevision = {\n  previousVersion = firstRevision.version,\n  version = hash(\n    hash('002_my-second.revision.js', 'sha1') + firstRevision.version,\n    'sha1'\n  )\n}\n```\n\nUsing this technique a retroactive change to file content of the\n- **first revision** means that the version of the **second revision** changes too\n- **second revision** means that the version of the **second revision** changes too\n\nWith these properties, it is easy to see how one can detect change, and support immutability. Given that a retroactive change is detected the migration tool can abort applying pending revisions until rectified. This way consistency can be established across one or more environments because database changes are reproducible. In conjunction with a CI/CD pipeline, this tool can ensure changes are performed consistently and avoid redundant actions performed against a database.\n\n## How-to Use\n\nTo get a better understanding of database migrations, please first review concepts [DDL, DML and DCL](https://www.w3schools.in/mysql/ddl-dml-dcl/).\n\n1. In source control, create a folder to store `*.revision.js` files\n2. Configure the tool environment variables, see `db help`\n3. Create a new revision, eg. `db new 'my-first-revision'`, which automatically creates a template\n4. Edit the new revision file, adding a database query for `up()` and `down()`\n5. Apply the revision against a database `db up`\n6. Verify changes using `db version` and `db list`\n","readmeFilename":"README.md"}