Fix bug where "metadata" scheme was not created automatically (#1971) and (#1831) (#2018)

* Fix bug where "metadata" scheme was not created automatically (#1971)

* logging on

* testing on render

* render upadte

* added setup-db.ts and updated package.json
This commit is contained in:
Ruslan
2023-10-14 16:48:55 +07:00
committed by GitHub
parent 0c79217ba0
commit 77c88bda6e
4 changed files with 54 additions and 14 deletions

View File

@@ -1,15 +1,4 @@
services:
- type: web
name: front
env: docker
dockerfilePath: ./infra/prod/front/Dockerfile
autoDeploy: false
envVars:
- key: REACT_APP_SERVER_BASE_URL
fromService:
name: server
type: web
envVarKey: RENDER_EXTERNAL_URL
- type: web
name: server
env: docker
@@ -38,7 +27,17 @@ services:
name: twenty-disk
mountPath: /.local-storage
sizeGB: 5
- type: web
name: front
env: docker
dockerfilePath: ./infra/prod/front/Dockerfile
autoDeploy: false
envVars:
- key: REACT_APP_SERVER_BASE_URL
fromService:
name: server
type: web
envVarKey: RENDER_EXTERNAL_URL
databases:
- name: twenty-db
plan: starter

View File

@@ -24,7 +24,7 @@
"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 && yarn typeorm migration:run -- -d ./src/metadata/metadata.datasource.ts",
"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",
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js",

View File

@@ -0,0 +1,31 @@
import { ConfigService } from '@nestjs/config';
import { config } from 'dotenv';
import { DataSource } from 'typeorm';
config();
const configService = new ConfigService();
export const connectionSource = new DataSource({
type: 'postgres',
logging: false,
url: configService.get<string>('PG_DATABASE_URL'),
});
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"');
}
})
.catch((err) => {
console.error('Error during Data Source initialization:', err);
});

View File

@@ -4,6 +4,11 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { DataSource, DataSourceOptions } from 'typeorm';
import { config } from 'dotenv';
import { InitMetadataTables1695214465080 } from './migrations/1695214465080-InitMetadataTables';
import { AlterFieldMetadataTable1695717691800 } from './migrations/1695717691800-alter-field-metadata-table';
import { AddTargetColumnMap1696409050890 } from './migrations/1696409050890-add-target-column-map';
import { MetadataNameLabelRefactoring1697126636202 } from './migrations/1697126636202-MetadataNameLabelRefactoring';
config();
const configService = new ConfigService();
@@ -17,7 +22,12 @@ export const typeORMMetadataModuleOptions: TypeOrmModuleOptions = {
synchronize: false,
migrationsRun: true,
migrationsTableName: '_typeorm_migrations',
migrations: [__dirname + '/migrations/**/*{.ts,.js}'],
migrations: [
InitMetadataTables1695214465080,
AlterFieldMetadataTable1695717691800,
AddTargetColumnMap1696409050890,
MetadataNameLabelRefactoring1697126636202,
],
};
export const connectionSource = new DataSource(