Skip to content

Commit

Permalink
Merge pull request #4 from IT4Change/database-sqlite
Browse files Browse the repository at this point in the history
fix(workflow): unit tests working withdatabase sqlite
  • Loading branch information
ulfgebhardt authored Dec 11, 2023
2 parents 917b666 + 637bc1c commit c91e996
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/backend.test.unit.code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ jobs:
uses: actions/checkout@v3

- name: Backend | Unit
run: npm install && npm run test:unit
run: npm install && npm run db:migrate && npm run test:unit
34 changes: 22 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
[![nodejs][badge-nodejs-img]][badge-nodejs-href]
[![npm][badge-npm-img]][badge-npm-href]
[![docker][badge-docker-img]][badge-docker-href]
[![eslint][badge-eslint-img]][badge-eslint-href]
[![apollo-server][badge-apollo-img]][badge-apollo-href]
[![graphql][badge-graphql-img]][badge-graphql-href]
[![type-graphql][badge-type-graphql-img]][badge-type-graphql-href]
[![prisma][badge-prisma-img]][badge-prisma-href]
[![eslint][badge-eslint-img]][badge-eslint-href]
[![remark-cli][badge-remark-cli-img]][badge-remark-cli-href]
[![jest][badge-jest-img]][badge-jest-href]
[![vuepress][badge-vuepress-img]][badge-vuepress-href]

The IT4C Boilerplate for an apollo express backends.
Expand All @@ -17,10 +19,6 @@ To be able to build this project you need `nodejs`, `npm` and optional `docker`.

The project sets up an apollo server. It uses `type-graphql`.

The project is set up for a `mysql` database, which is expected to
run. Copy the `.env.dist` file to `.env`. You can change the database
connection in the `prisma/schema.prisma` file and your local `.env`.

## Commands

The following commands are available:
Expand Down Expand Up @@ -78,6 +76,12 @@ The following endpoints are provided given the right command is executed or all
| [http://localhost:4000/graphql](http://localhost:4000/graphql) | GraphQL API |
| [http://localhost:4000/playground](http://localhost:4000/playground) | GraphQL Playground |

## Database setup

The project is set up for a `sqlite` database.
In order to run the project against a mysql database adjust `primsa/schema.prisma`, copy the `.env.dist` file to `.env` and configure the database connection appropriately.
Then run `npm run db:migrate` to generate the database. It might be required to delete the migration folder beforehand.

## License

[Apache 2.0](./LICENSE)
Expand All @@ -92,20 +96,26 @@ The following endpoints are provided given the right command is executed or all
[badge-docker-img]: https://img.shields.io/badge/docker-latest-blue
[badge-docker-href]: https://www.docker.com/

[badge-eslint-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=devDependencies.eslint&label=eslint&color=red
[badge-eslint-href]: https://eslint.org/

[badge-apollo-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies%5B%22%40apollo%2Fserver%22%5D&label=apollo-server&color=yellow
[badge-apollo-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies%5B%22%40apollo%2Fserver%22%5D&label=apollo-server&color=green
[badge-apollo-href]: https://apollographql.com

[badge-graphql-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies.graphql&label=graphql&color=yellow
[badge-graphql-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies.graphql&label=graphql&color=green
[badge-graphql-href]: https://graphql.org/

[badge-type-graphql-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies%5B%22type-graphql%22%5D&label=type-graphql&color=yellow
[badge-type-graphql-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies%5B%22type-graphql%22%5D&label=type-graphql&color=green
[badge-type-graphql-href]: https://typegraphql.com/

[badge-prisma-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies.prisma&label=prisma&color=yellow
[badge-prisma-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=dependencies.prisma&label=prisma&color=green
[badge-prisma-href]: https://prisma.io/

[badge-eslint-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=devDependencies.eslint&label=eslint&color=yellow
[badge-eslint-href]: https://eslint.org/

[badge-remark-cli-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=devDependencies%5B%27remark-cli%27%5D&label=remark-cli&color=yellow
[badge-remark-cli-href]: https://remark.js.org/

[badge-jest-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=devDependencies.jest&label=jest&color=yellow
[badge-jest-href]: https://jestjs.io/

[badge-vuepress-img]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2FIT4Change%2Fboilerplate-backend%2Fmaster%2Fpackage.json&query=devDependencies.vuepress&label=vuepress&color=orange
[badge-vuepress-href]: https://vuepress.vuejs.org/
1 change: 1 addition & 0 deletions prisma/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
development.db
8 changes: 0 additions & 8 deletions prisma/migrations/20231206124213_test/migration.sql

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-- CreateTable
CREATE TABLE "Hello" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"text" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
2 changes: 1 addition & 1 deletion prisma/migrations/migration_lock.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "mysql"
provider = "sqlite"
6 changes: 4 additions & 2 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ generator client {
}

datasource db {
provider = "mysql"
url = env("DATABASE_URL")
provider = "sqlite"
url = "file:./development.db"
// provider = "mysql"
// url = env("DATABASE_URL")
}

model Hello {
Expand Down

0 comments on commit c91e996

Please sign in to comment.