Skip to content

Commit

Permalink
Release 0.23 (twentyhq#6547)
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesBochet authored Aug 5, 2024
1 parent 8373dfd commit 1b9d2c8
Show file tree
Hide file tree
Showing 10 changed files with 84 additions and 28 deletions.
2 changes: 1 addition & 1 deletion packages/twenty-emails/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "twenty-emails",
"version": "0.22.0",
"version": "0.23.0",
"description": "",
"author": "",
"private": true,
Expand Down
2 changes: 1 addition & 1 deletion packages/twenty-front/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "twenty-front",
"version": "0.22.0",
"version": "0.23.0",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/twenty-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "twenty-server",
"version": "0.22.0",
"version": "0.23.0",
"description": "",
"author": "",
"private": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { MigrateMessageChannelSyncStatusEnumCommand } from 'src/database/command
import { SetWorkspaceActivationStatusCommand } from 'src/database/commands/upgrade-version/0-23/0-23-set-workspace-activation-status.command';
import { UpdateActivitiesCommand } from 'src/database/commands/upgrade-version/0-23/0-23-update-activities.command';
import { UpdateFileFolderStructureCommand } from 'src/database/commands/upgrade-version/0-23/0-23-update-file-folder-structure.command';
import { SyncWorkspaceMetadataCommand } from 'src/engine/workspace-manager/workspace-sync-metadata/commands/sync-workspace-metadata.command';

interface UpdateTo0_23CommandOptions {
workspaceId?: string;
Expand All @@ -18,6 +19,7 @@ interface UpdateTo0_23CommandOptions {
})
export class UpgradeTo0_23Command extends CommandRunner {
constructor(
private readonly syncWorkspaceMetadataCommand: SyncWorkspaceMetadataCommand,
private readonly updateFileFolderStructureCommandOptions: UpdateFileFolderStructureCommand,
private readonly migrateLinkFieldsToLinks: MigrateLinkFieldsToLinksCommand,
private readonly migrateDomainNameFromTextToLinks: MigrateDomainNameFromTextToLinksCommand,
Expand Down Expand Up @@ -54,6 +56,10 @@ export class UpgradeTo0_23Command extends CommandRunner {
_passedParam,
options,
);
await this.syncWorkspaceMetadataCommand.run(_passedParam, {
...options,
force: true,
});
await this.updateActivitiesCommand.run(_passedParam, options);
await this.backfillNewOnboardingUserVarsCommand.run(_passedParam, options);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadat
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module';
import { WorkspaceStatusModule } from 'src/engine/workspace-manager/workspace-status/workspace-manager.module';
import { WorkspaceSyncMetadataCommandsModule } from 'src/engine/workspace-manager/workspace-sync-metadata/commands/workspace-sync-metadata-commands.module';
import { ViewModule } from 'src/modules/view/view.module';

@Module({
imports: [
WorkspaceSyncMetadataCommandsModule,
TypeOrmModule.forFeature([Workspace], 'core'),
FileStorageModule,
OnboardingModule,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';

import diff from 'microdiff';

import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface';

import {
Expand Down Expand Up @@ -126,30 +128,66 @@ export class WorkspaceMigrationFieldFactory {
continue;
}

const migrations: WorkspaceMigrationTableAction[] = [
{
name: computeObjectTargetTable(
originalObjectMetadataMap[
fieldMetadataUpdate.current.objectMetadataId
],
),
action: WorkspaceMigrationTableActionType.ALTER,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.ALTER,
fieldMetadataUpdate.current,
fieldMetadataUpdate.altered,
),
const columnActions = this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.ALTER,
fieldMetadataUpdate.current,
fieldMetadataUpdate.altered,
);

const isMigrationNeeded = columnActions.reduce(
(result, currentColumnAction) => {
if (
currentColumnAction.action ===
WorkspaceMigrationColumnActionType.CREATE ||
currentColumnAction.action ===
WorkspaceMigrationColumnActionType.DROP
) {
return true;
}

if (
currentColumnAction.action ===
WorkspaceMigrationColumnActionType.ALTER
) {
return (
diff(
currentColumnAction.currentColumnDefinition,
currentColumnAction.alteredColumnDefinition,
).length > 0
);
}

return result;
},
];

workspaceMigrations.push({
workspaceId: fieldMetadataUpdate.current.workspaceId,
name: generateMigrationName(
`update-${fieldMetadataUpdate.altered.name}`,
),
isCustom: false,
migrations,
});
false,
);

if (isMigrationNeeded) {
const migrations: WorkspaceMigrationTableAction[] = [
{
name: computeObjectTargetTable(
originalObjectMetadataMap[
fieldMetadataUpdate.current.objectMetadataId
],
),
action: WorkspaceMigrationTableActionType.ALTER,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.ALTER,
fieldMetadataUpdate.current,
fieldMetadataUpdate.altered,
),
},
];

workspaceMigrations.push({
workspaceId: fieldMetadataUpdate.current.workspaceId,
name: generateMigrationName(
`update-${fieldMetadataUpdate.altered.name}`,
),
isCustom: false,
migrations,
});
}
}

return workspaceMigrations;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ import { SyncWorkspaceLoggerService } from './services/sync-workspace-logger.ser
ConvertRecordPositionsToIntegers,
SyncWorkspaceLoggerService,
],
exports: [SyncWorkspaceMetadataCommand],
})
export class WorkspaceSyncMetadataCommandsModule {}
2 changes: 1 addition & 1 deletion packages/twenty-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "twenty-ui",
"version": "0.22.0",
"version": "0.23.0",
"type": "module",
"main": "./src/index.ts",
"exports": {
Expand Down
2 changes: 1 addition & 1 deletion packages/twenty-website/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "twenty-website",
"version": "0.22.0",
"version": "0.23.0",
"private": true,
"scripts": {
"nx": "NX_DEFAULT_PROJECT=twenty-website node ../../node_modules/nx/bin/nx.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ yarn command:prod workspace:sync-metadata -f
yarn command:prod upgrade-0.22
```

## v0.22.0 to v0.23.0

Run the following commands:

```
yarn database:migrate:prod
yarn command:prod upgrade-0.23
```

The `yarn database:migrate:prod` command will apply the migrations to the Database.
The `yarn command:prod workspace:sync-metadata -f` command will sync the definition of standard objects to the metadata tables and apply to required migrations to existing workspaces.
The `yarn command:prod upgrade-0.22` command will apply specific data transformations to adapt to the new object defaultRequestInstrumentationOptions.
Expand Down

0 comments on commit 1b9d2c8

Please sign in to comment.