LinusU / LinusU/node-pg-tmp

Tear down databases manually feature request

Offen
#2 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Shell
Sterne
1
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I think a feature that can be added to this library would be to tear down databases manually.

A use case for this would be to do this in the "tear-down" section in testing frameworks. For example, in [vitest](https://vitest.dev/) a possible implementation of this would be:

```ts
import {describe, test, beforeAll} from "vitest";
import createDb from "pg-tmp";

describe("Database test", () => {
beforeAll(async () => {
const { teardownDb } = await createDb();
// return cleanup function
return async () => {
await teardownDb();
};
});

test("specific database tests", () => {
// tests with the database.
});
});
```

This should be easy to implement using the "stop" command already implemented in `pg_tmp.sh`.

I'd be up to make a PR myself, but I figured I'd get permission first & so forth.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lies zunächst den bestehenden stop-Befehl in pg_tmp.sh und die Node.js-API, die ihn aufruft. Lege fest, wie die manuelle Teardown-Funktion aus createDb heraus verfügbar gemacht werden soll, wobei das Vitest-Beispiel als vorgesehene Verwendung dient. Als abgeschlossen gilt die Aufgabe, wenn Aufrufer teardownDb während der Testbereinigung aufrufen können und das bestehende Verhalten zum Herunterfahren der Datenbank wiederverwendet wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js, postgresql, shell
Bereich
api, databases, testing-qa
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.