https://github.com/rrwen/pg-testdb-template
Command line tool for creating a pg-testdb template file
https://github.com/rrwen/pg-testdb-template
cli cmd command database db interface isolated line pg pgtools postgres postgresql tap tape temp template temporary test tool unit
Last synced: about 2 months ago
JSON representation
Command line tool for creating a pg-testdb template file
- Host: GitHub
- URL: https://github.com/rrwen/pg-testdb-template
- Owner: rrwen
- License: mit
- Created: 2017-10-24T03:15:10.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-22T02:43:33.000Z (over 8 years ago)
- Last Synced: 2025-09-07T20:29:52.772Z (9 months ago)
- Topics: cli, cmd, command, database, db, interface, isolated, line, pg, pgtools, postgres, postgresql, tap, tape, temp, template, temporary, test, tool, unit
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/pg-testdb-template
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pg-testdb-template
Richard Wen
rrwen.dev@gmail.com
Command line tool for creating a pg-testdb template file
[](https://badge.fury.io/js/pg-testdb-template)
[](https://travis-ci.org/rrwen/pg-testdb-template)
[](https://www.npmjs.com/package/pg-testdb-template)
[](https://github.com/rrwen/pg-testdb-template/blob/master/LICENSE)
[](https://twitter.com/intent/tweet?text=%23nodejs%20%23npm%20package%20for%20%23template%20of%20isolated%20%23postgres%20%23postgresql%20%23pg%20%23database%20%23unittest:%20https%3A%2F%2Fgithub.com%2Frrwen%2Fpg-testdb-template)
## Install
1. Install [Node.js](https://nodejs.org/en/) (v6.0.0+)
2. Install [pg-testdb](https://www.npmjs.com/package/pg-testdb) via `npm`
3. Install [pg-testdb-template](https://www.npmjs.com/package/pg-testdb-template) via `npm`
```
npm install pg-testdb --save-dev
npm install pg-testdb-template -g
```
For the latest developer version, see [Developer Install](#developer-install).
## Usage
Create a template file named `pg-testdb-template.js` for the [pg-testdb](https://www.npmjs.com/package/pg-testdb) package in the current directory:
```
pg-testdb-template
```
Create a template file named `pg_tests.js` in the current directory:
```
pg-testdb-template pg_tests.js
```
For help, use:
```
pg-testdb-template --help
```
## Developer Notes
### Developer Install
Install the latest developer version with `npm` from github:
```
npm install git+https://github.com/rrwen/pg-testdb-template
```
Install from `git` cloned source:
1. Ensure [git](https://git-scm.com/) is installed
2. Clone into current path
3. Install via `npm`
```
git clone https://github.com/rrwen/pg-testdb-template
cd pg-testdb-template
npm install
```
### Tests
1. Clone into current path `git clone https://github.com/rrwen/pg-testdb-template`
2. Enter into folder `cd pg-testdb-template`
3. Ensure [tape](https://www.npmjs.com/package/tape) and [moment](https://www.npmjs.com/package/moment) are available
4. Run tests
5. Results are saved to `./tests/log` with each file corresponding to a version tested
```
npm install
npm test
```
### Upload to Github
1. Ensure [git](https://git-scm.com/) is installed
2. Inside the `pg-testdb-template` folder, add all files and commit changes
3. Push to github
```
git add .
git commit -a -m "Generic update"
git push
```
### Upload to npm
1. Update the version in `package.json`
2. Run tests and check for OK status
3. Login to npm
4. Publish to npm
```
npm test
npm login
npm publish
```
### Implementation
The [npm](https://www.npmjs.com/) core package [fs](https://www.npmjs.com/package/fs) was used to copy a template from the [pg-testdb-template](https://www.npmjs.com/package/pg-testdb-template) install directory to the user's current directory:
1. Create a read stream with `var read = fs.createReadStream('template.js');`
2. Create a write stream with `var write = fs.createWriteStream('copy.js');`
3. Pipe the read stream to the write stream `read.pipe(write);`