Update installation doc (#2019)
* Update installation doc * Update install scripts * Update install scripts
This commit is contained in:
@ -20,15 +20,23 @@
|
||||
"test:cov": "jest --coverage",
|
||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
||||
"test:e2e": "./scripts/run-integration.sh",
|
||||
|
||||
"prisma:generate-client": "npx prisma generate --generator client && yarn prisma:generate-gql-select",
|
||||
"prisma:generate-gql-select": "node scripts/generate-model-select-map.js",
|
||||
"prisma:generate-nest-graphql": "npx prisma generate --generator nestgraphql",
|
||||
"prisma:generate": "yarn prisma:generate-client && yarn prisma:generate-gql-select && yarn prisma:generate-nest-graphql",
|
||||
"prisma:migrate": "npx prisma migrate deploy && npx ts-node ./scripts/setup-db.ts && yarn typeorm migration:run -- -d ./src/metadata/metadata.datasource.ts",
|
||||
"prisma:seed": "npx prisma db seed",
|
||||
"prisma:reset": "npx prisma migrate reset && yarn prisma:generate",
|
||||
"prisma:seed": "npx prisma db seed",
|
||||
"prisma:migrate": "npx prisma migrate deploy",
|
||||
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
|
||||
"typeorm:migrate": "yarn typeorm migration:run -- -d ./src/metadata/metadata.datasource.ts"
|
||||
"typeorm:migrate": "yarn typeorm migration:run -- -d ./src/metadata/metadata.datasource.ts",
|
||||
|
||||
"database:setup": "npx ts-node ./scripts/setup-db.ts",
|
||||
"database:migrate": "yarn prisma:migrate && yarn typeorm:migrate",
|
||||
"database:generate": "yarn prisma:generate",
|
||||
"database:seed": "yarn prisma:seed",
|
||||
"database:reset": "yarn database:migrate && yarn database:generate && yarn database:seed"
|
||||
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/server": "^4.7.3",
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
import console from 'console';
|
||||
|
||||
import { config } from 'dotenv';
|
||||
import { DataSource } from 'typeorm';
|
||||
|
||||
@ -13,18 +15,54 @@ export const connectionSource = new DataSource({
|
||||
url: configService.get<string>('PG_DATABASE_URL'),
|
||||
});
|
||||
|
||||
const performQuery = async (query: string, consoleDescription: string) => {
|
||||
try {
|
||||
await connectionSource.query(query);
|
||||
console.log(`Performed '${consoleDescription}' successfully`);
|
||||
} catch (err) {
|
||||
console.error(`Failed to perform '${consoleDescription}':`, err);
|
||||
}
|
||||
};
|
||||
|
||||
connectionSource
|
||||
.initialize()
|
||||
.then(async () => {
|
||||
await connectionSource.query(`CREATE SCHEMA IF NOT EXISTS "metadata"`);
|
||||
const result = await connectionSource.query(`
|
||||
SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'metadata'
|
||||
`);
|
||||
if (result.length > 0) {
|
||||
console.log('Schema "metadata" created successfully');
|
||||
} else {
|
||||
console.log('Failed to create schema "metadata"');
|
||||
}
|
||||
await performQuery(
|
||||
'CREATE SCHEMA IF NOT EXISTS "metadata"',
|
||||
'create schema "metadata"',
|
||||
);
|
||||
await performQuery(
|
||||
'CREATE EXTENSION IF NOT EXISTS pg_graphql',
|
||||
'create extension pg_graphql',
|
||||
);
|
||||
|
||||
await performQuery(
|
||||
'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"',
|
||||
'create extension "uuid-ossp"',
|
||||
);
|
||||
|
||||
await performQuery(
|
||||
`
|
||||
DROP FUNCTION IF EXISTS graphql;
|
||||
CREATE FUNCTION graphql(
|
||||
"operationName" text default null,
|
||||
query text default null,
|
||||
variables jsonb default null,
|
||||
extensions jsonb default null
|
||||
)
|
||||
returns jsonb
|
||||
language sql
|
||||
as $$
|
||||
select graphql.resolve(
|
||||
query := query,
|
||||
variables := coalesce(variables, '{}'),
|
||||
"operationName" := "operationName",
|
||||
extensions := extensions
|
||||
);
|
||||
$$;
|
||||
`,
|
||||
'create function graphql',
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error('Error during Data Source initialization:', err);
|
||||
|
||||
Reference in New Issue
Block a user