mirror of
https://github.com/lingble/twenty.git
synced 2025-11-02 05:37:56 +00:00
* 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:
23
render.yaml
23
render.yaml
@@ -1,15 +1,4 @@
|
|||||||
services:
|
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
|
- type: web
|
||||||
name: server
|
name: server
|
||||||
env: docker
|
env: docker
|
||||||
@@ -38,7 +27,17 @@ services:
|
|||||||
name: twenty-disk
|
name: twenty-disk
|
||||||
mountPath: /.local-storage
|
mountPath: /.local-storage
|
||||||
sizeGB: 5
|
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:
|
databases:
|
||||||
- name: twenty-db
|
- name: twenty-db
|
||||||
plan: starter
|
plan: starter
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"prisma:generate-gql-select": "node scripts/generate-model-select-map.js",
|
"prisma:generate-gql-select": "node scripts/generate-model-select-map.js",
|
||||||
"prisma:generate-nest-graphql": "npx prisma generate --generator nestgraphql",
|
"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: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:seed": "npx prisma db seed",
|
||||||
"prisma:reset": "npx prisma migrate reset && yarn prisma:generate",
|
"prisma:reset": "npx prisma migrate reset && yarn prisma:generate",
|
||||||
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
|
"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
|
||||||
|
|||||||
31
server/scripts/setup-db.ts
Normal file
31
server/scripts/setup-db.ts
Normal 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);
|
||||||
|
});
|
||||||
@@ -4,6 +4,11 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
|||||||
import { DataSource, DataSourceOptions } from 'typeorm';
|
import { DataSource, DataSourceOptions } from 'typeorm';
|
||||||
import { config } from 'dotenv';
|
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();
|
config();
|
||||||
|
|
||||||
const configService = new ConfigService();
|
const configService = new ConfigService();
|
||||||
@@ -17,7 +22,12 @@ export const typeORMMetadataModuleOptions: TypeOrmModuleOptions = {
|
|||||||
synchronize: false,
|
synchronize: false,
|
||||||
migrationsRun: true,
|
migrationsRun: true,
|
||||||
migrationsTableName: '_typeorm_migrations',
|
migrationsTableName: '_typeorm_migrations',
|
||||||
migrations: [__dirname + '/migrations/**/*{.ts,.js}'],
|
migrations: [
|
||||||
|
InitMetadataTables1695214465080,
|
||||||
|
AlterFieldMetadataTable1695717691800,
|
||||||
|
AddTargetColumnMap1696409050890,
|
||||||
|
MetadataNameLabelRefactoring1697126636202,
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const connectionSource = new DataSource(
|
export const connectionSource = new DataSource(
|
||||||
|
|||||||
Reference in New Issue
Block a user