diff --git a/packages/twenty-server/src/database/commands/__tests__/__snapshots__/instance-command-generation.service.spec.ts.snap b/packages/twenty-server/src/database/commands/__tests__/__snapshots__/instance-command-generation.service.spec.ts.snap index 74a6045038..0d36d638a2 100644 --- a/packages/twenty-server/src/database/commands/__tests__/__snapshots__/instance-command-generation.service.spec.ts.snap +++ b/packages/twenty-server/src/database/commands/__tests__/__snapshots__/instance-command-generation.service.spec.ts.snap @@ -1,15 +1,15 @@ -// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing +// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`InstanceCommandGenerationService should encode version correctly in file and class names 1`] = ` { "className": "TestFastInstanceCommand", - "fileName": "1-21-instance-command-fast-1775000000000-test.ts", + "fileName": "30-40-instance-command-fast-1775000000000-test.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('1.21.0', 1775000000000) +@RegisteredInstanceCommand('30.40.0', 1775000000000) export class TestFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('SELECT 1'); @@ -26,13 +26,13 @@ export class TestFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should escape backslashes in SQL queries 1`] = ` { "className": "UpdatePathFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-update-path.ts", + "fileName": "10-20-instance-command-fast-1775000000000-update-path.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class UpdatePathFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('UPDATE "core"."config" SET "value" = E\\'path\\\\\\\\to\\\\\\\\file\\''); @@ -49,13 +49,13 @@ export class UpdatePathFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should escape single quotes in SQL queries 1`] = ` { "className": "UpdateConfigFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-update-config.ts", + "fileName": "10-20-instance-command-fast-1775000000000-update-config.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class UpdateConfigFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('UPDATE "core"."config" SET "value" = \\'it\\'\\'s done\\''); @@ -72,13 +72,13 @@ export class UpdateConfigFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should generate a migration with a single up/down query 1`] = ` { "className": "AddFooColumnFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-add-foo-column.ts", + "fileName": "10-20-instance-command-fast-1775000000000-add-foo-column.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class AddFooColumnFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('ALTER TABLE "core"."user" ADD "foo" varchar'); @@ -95,13 +95,13 @@ export class AddFooColumnFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should generate a migration with multiple queries 1`] = ` { "className": "CreateTaskTableFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-create-task-table.ts", + "fileName": "10-20-instance-command-fast-1775000000000-create-task-table.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class CreateTaskTableFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('CREATE TABLE "core"."task" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "name" varchar NOT NULL)'); @@ -120,13 +120,13 @@ export class CreateTaskTableFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should generate a migration with query parameters 1`] = ` { "className": "SeedSettingFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-seed-setting.ts", + "fileName": "10-20-instance-command-fast-1775000000000-seed-setting.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class SeedSettingFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('INSERT INTO "core"."setting" ("key", "value") VALUES ($1, $2)', ["theme","dark"]); @@ -143,13 +143,13 @@ export class SeedSettingFastInstanceCommand implements FastInstanceCommand { exports[`InstanceCommandGenerationService should generate a slow instance command with populated up/down 1`] = ` { "className": "MakeColumnNotNullableSlowInstanceCommand", - "fileName": "2-3-instance-command-slow-1775000000000-make-column-not-nullable.ts", + "fileName": "10-20-instance-command-slow-1775000000000-make-column-not-nullable.ts", "fileTemplate": "import { DataSource, QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { SlowInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/slow-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000, { type: 'slow' }) +@RegisteredInstanceCommand('10.20.0', 1775000000000, { type: 'slow' }) export class MakeColumnNotNullableSlowInstanceCommand implements SlowInstanceCommand { async runDataMigration(dataSource: DataSource): Promise { // TODO: implement data backfill before the DDL migration @@ -170,13 +170,13 @@ export class MakeColumnNotNullableSlowInstanceCommand implements SlowInstanceCom exports[`InstanceCommandGenerationService should use default migration name in class and file names 1`] = ` { "className": "AutoGeneratedFastInstanceCommand", - "fileName": "2-3-instance-command-fast-1775000000000-auto-generated.ts", + "fileName": "10-20-instance-command-fast-1775000000000-auto-generated.ts", "fileTemplate": "import { QueryRunner } from 'typeorm'; import { RegisteredInstanceCommand } from 'src/engine/core-modules/upgrade/decorators/registered-instance-command.decorator'; import { FastInstanceCommand } from 'src/engine/core-modules/upgrade/interfaces/fast-instance-command.interface'; -@RegisteredInstanceCommand('2.3.0', 1775000000000) +@RegisteredInstanceCommand('10.20.0', 1775000000000) export class AutoGeneratedFastInstanceCommand implements FastInstanceCommand { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query('ALTER TABLE "core"."user" ADD "bar" integer'); diff --git a/packages/twenty-server/src/database/commands/__tests__/instance-command-generation.service.spec.ts b/packages/twenty-server/src/database/commands/__tests__/instance-command-generation.service.spec.ts index 31e96b0f64..813181e13a 100644 --- a/packages/twenty-server/src/database/commands/__tests__/instance-command-generation.service.spec.ts +++ b/packages/twenty-server/src/database/commands/__tests__/instance-command-generation.service.spec.ts @@ -2,11 +2,10 @@ import { Test } from '@nestjs/testing'; import { getDataSourceToken } from '@nestjs/typeorm'; import { InstanceCommandGenerationService } from 'src/database/commands/instance-command-generation.service'; -import { TWENTY_CURRENT_VERSION } from 'src/engine/core-modules/upgrade/constants/twenty-current-version.constant'; -import { TWENTY_PREVIOUS_VERSIONS } from 'src/engine/core-modules/upgrade/constants/twenty-previous-versions.constant'; +import { type TwentyAllVersion } from 'src/engine/core-modules/upgrade/constants/twenty-all-versions.constant'; -const VERSION_A = TWENTY_CURRENT_VERSION; -const VERSION_B = TWENTY_PREVIOUS_VERSIONS[0]; +const VERSION_A = '10.20.0' as TwentyAllVersion; +const VERSION_B = '30.40.0' as TwentyAllVersion; const FIXED_TIMESTAMP = 1775000000000; diff --git a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-current-version.constant.ts b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-current-version.constant.ts index 35410dd930..2d8635262f 100644 --- a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-current-version.constant.ts +++ b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-current-version.constant.ts @@ -7,4 +7,4 @@ * |___/ */ -export const TWENTY_CURRENT_VERSION = '2.3.0' as const; +export const TWENTY_CURRENT_VERSION = '2.4.0' as const; diff --git a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-next-versions.constant.ts b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-next-versions.constant.ts index d9aeba31c0..c6bc22b07c 100644 --- a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-next-versions.constant.ts +++ b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-next-versions.constant.ts @@ -7,4 +7,4 @@ * |___/ */ -export const TWENTY_NEXT_VERSIONS = ['2.4.0'] as const; +export const TWENTY_NEXT_VERSIONS = ['2.5.0'] as const; diff --git a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-previous-versions.constant.ts b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-previous-versions.constant.ts index a1705ea010..2c6bae4fa2 100644 --- a/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-previous-versions.constant.ts +++ b/packages/twenty-server/src/engine/core-modules/upgrade/constants/twenty-previous-versions.constant.ts @@ -14,4 +14,5 @@ export const TWENTY_PREVIOUS_VERSIONS = [ '2.0.0', '2.1.0', '2.2.0', + '2.3.0', ] as const;