Fix various bugs before 0.2.2 (#3118)

* Fix various bugs before 0.2.2 release

* Additional fixes

* More fixes

* Fixes
This commit is contained in:
Charles Bochet
2023-12-21 23:48:52 +01:00
committed by GitHub
parent 69ffa0d229
commit 756b30815e
28 changed files with 183 additions and 245 deletions

View File

@ -94,7 +94,6 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
{
name: objectMetadata.targetTableName,
action: 'alter',
schemaName: objectMetadata.dataSource.schema,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.CREATE,
createdFieldMetadata,
@ -205,7 +204,6 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
{
name: objectMetadata.targetTableName,
action: 'alter',
schemaName: objectMetadata.dataSource.schema,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.ALTER,
existingFieldMetadata,

View File

@ -230,13 +230,11 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
{
name: createdObjectMetadata.targetTableName,
action: 'create',
schemaName: createdObjectMetadata.dataSource.schema,
} satisfies WorkspaceMigrationTableAction,
// Add activity target relation
{
name: activityTargetObjectMetadata.targetTableName,
action: 'alter',
schemaName: activityTargetObjectMetadata.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.CREATE,
@ -249,7 +247,6 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
{
name: activityTargetObjectMetadata.targetTableName,
action: 'alter',
schemaName: activityTargetObjectMetadata.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.RELATION,
@ -263,7 +260,6 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
{
name: createdObjectMetadata.targetTableName,
action: 'alter',
schemaName: createdObjectMetadata.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.CREATE,

View File

@ -200,9 +200,6 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
name: objectMetadataMap[relationMetadataInput.toObjectMetadataId]
.targetTableName,
action: 'alter',
schemaName:
objectMetadataMap[relationMetadataInput.toObjectMetadataId]
.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.CREATE,
@ -217,9 +214,6 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
name: objectMetadataMap[relationMetadataInput.toObjectMetadataId]
.targetTableName,
action: 'alter',
schemaName:
objectMetadataMap[relationMetadataInput.toObjectMetadataId]
.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.RELATION,

View File

@ -39,7 +39,6 @@ export type WorkspaceMigrationColumnRelation = {
columnName: string;
referencedTableName: string;
referencedTableColumnName: string;
referencedSchema?: string;
isUnique?: boolean;
};
@ -60,7 +59,6 @@ export type WorkspaceMigrationColumnAction = {
export type WorkspaceMigrationTableAction = {
name: string;
action: 'create' | 'alter';
schemaName: string;
columns?: WorkspaceMigrationColumnAction[];
};

View File

@ -63,11 +63,13 @@ export class WorkspaceMigrationRunnerService {
}, []);
const queryRunner = workspaceDataSource?.createQueryRunner();
const schemaName =
this.workspaceDataSourceService.getSchemaName(workspaceId);
// Loop over each migration and create or update the table
// TODO: Should be done in a transaction
for (const migration of flattenedPendingMigrations) {
await this.handleTableChanges(queryRunner, migration);
await this.handleTableChanges(queryRunner, schemaName, migration);
}
// Update appliedAt date for each migration
@ -96,20 +98,17 @@ export class WorkspaceMigrationRunnerService {
*/
private async handleTableChanges(
queryRunner: QueryRunner,
schemaName: string,
tableMigration: WorkspaceMigrationTableAction,
) {
switch (tableMigration.action) {
case 'create':
await this.createTable(
queryRunner,
tableMigration.schemaName,
tableMigration.name,
);
await this.createTable(queryRunner, schemaName, tableMigration.name);
break;
case 'alter':
await this.handleColumnChanges(
queryRunner,
tableMigration.schemaName,
schemaName,
tableMigration.name,
tableMigration?.columns,
);
@ -293,7 +292,6 @@ export class WorkspaceMigrationRunnerService {
new TableForeignKey({
columnNames: [migrationColumn.columnName],
referencedColumnNames: [migrationColumn.referencedTableColumnName],
referencedSchema: migrationColumn.referencedSchema,
referencedTableName: migrationColumn.referencedTableName,
onDelete: 'CASCADE',
}),

View File

@ -92,8 +92,8 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
description:
'Ideal Customer Profile: Indicates whether the company is the most suitable and valuable customer for you',
icon: 'IconTarget',
defaultValue: { value: false },
})
@IsNullable()
idealCustomerProfile: boolean;
// Relations

View File

@ -393,7 +393,6 @@ export class WorkspaceSyncMetadataService {
{
name: object.targetTableName,
action: 'create',
schemaName: object.dataSource.schema,
} satisfies WorkspaceMigrationTableAction,
...Object.values(object.fields)
.filter((field) => field.type !== FieldMetadataType.RELATION)
@ -402,7 +401,6 @@ export class WorkspaceSyncMetadataService {
({
name: object.targetTableName,
action: 'alter',
schemaName: object.dataSource.schema,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.CREATE,
field,
@ -434,8 +432,6 @@ export class WorkspaceSyncMetadataService {
{
name: objectsInDbById[field.objectMetadataId].targetTableName,
action: 'alter',
schemaName:
objectsInDbById[field.objectMetadataId].dataSource.schema,
columns: this.workspaceMigrationFactory.createColumnActions(
WorkspaceMigrationColumnActionType.CREATE,
field,
@ -457,8 +453,6 @@ export class WorkspaceSyncMetadataService {
{
name: objectsInDbById[field.objectMetadataId].targetTableName,
action: 'alter',
schemaName:
objectsInDbById[field.objectMetadataId].dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.DROP,
@ -524,13 +518,11 @@ export class WorkspaceSyncMetadataService {
{
name: toObjectMetadata.targetTableName,
action: 'alter',
schemaName: toObjectMetadata.dataSource.schema,
columns: [
{
action: WorkspaceMigrationColumnActionType.RELATION,
columnName: `${camelCase(toFieldMetadata.name)}Id`,
referencedTableName: fromObjectMetadata.targetTableName,
referencedSchema: fromObjectMetadata.dataSource.schema,
referencedTableColumnName: 'id',
isUnique:
relation.relationType === RelationMetadataType.ONE_TO_ONE,