npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

asc-schema

v1.0.3

Published

An migrations repo for ASC which created images for Kube Jobs

Downloads

8

Readme

ASC Schema

A simple container to run migrations on the ASC audit database

DB Users

hof      | User for the ASC hof application to post audit data
reports  | User for save-return-lookup-ui, save-return-api, save-return-email-alerts services to get and post session data

Environment variables

You'll need to set the following env vars:

HOF_USER_PASS       | Password for the hof USER
NODE_ENV            | So knex knows what config to run against
DB_HOST             | The postgres db host
DB_USER             | The postgres db username
DB_PASS             | The postgres db password
DB_NAME             | The postgres db name

Local Setup

The migrations and seeds folders are used by knex to setup a local DB with dummy information for testing the service. These are not used in production where it is assumed a separate DB is setup for knex to connect to that is already setup.

Run the following commands to setup a test DB:

brew install postgres
brew services start postgresql
psql postgres
CREATE ROLE knex WITH LOGIN PASSWORD 'knex';
ALTER ROLE knex WITH SUPERUSER;
CREATE DATABASE knex_session;
\q

If you download Postico for Mac (https://eggerapps.at/postico/), you can then inspect your postgres DB for example and look at the test entries inserted into the test table 'Reports'.

You then need to use a knexfile with migrations and seeds folders to populate your database. The asc-schema repo which is used for migrations in the ASC service (https://github.com/UKHomeOffice/asc-schema) can be used as a test example and is included in this project. You can run

yarn run db:setup

from that repo to setup your database.

Adding new migrations

Add a new migration running

knex migrate:make <migration_name>

Also ensure to add new seed data which can be used for local DB testing in the seed folder.

Then update the config.js file to specify the latest migration file to run to. Then document this in the audit log below.

When new work is merged to master, update the digest for the kube job in the asc service which should be the commit SHA. The digest is also logged in the Drone console when the image is published to Quay. E.g.:

8b74079b6dbfce20c0dbd683b554ec6c7c0ddfbb: digest:

Finally remember to update the package.json version, tag the repo with the same version, i.e. v1.2.0, create a release note and publish a new npm module:

npm publish

Which then should be updated in save-return-email-alerts, save-return-lookup-ui and save-return-api. This is so they can test the latest migrations on a local DB if needs be.

Migrations Audit