fix : Delete column query throws error if the column name starts with uppercase in ToolJet database (#9877)

* fix : while deleting a column if the column name starts with uppercase, it throws error

* Added the query as parameterized query

* fix : using query runner with creation in parameterized queries
This commit is contained in:
Syed Abdul Rahman 2024-06-04 11:09:29 +05:30 committed by GitHub
parent 1aa5ef66e2
commit 1234979f56
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -610,13 +610,17 @@ export class TooljetDbService {
if (!internalTable) throw new NotFoundException('Internal table not found: ' + tableName);
const query = `ALTER TABLE "${internalTable.id}" DROP COLUMN ${column['column_name']}`;
// const query = `ALTER TABLE "${internalTable.id}" DROP COLUMN "${column['column_name']}"`;
const tjdbQueryRunnner = this.tooljetDbManager.connection.createQueryRunner();
await tjdbQueryRunnner.connect();
try {
const result = await this.tooljetDbManager.query(query);
const result = await tjdbQueryRunnner.dropColumn(internalTable.id, column['column_name']);
await this.tooljetDbManager.query("NOTIFY pgrst, 'reload schema'");
return result;
} catch (error) {
throw new TooljetDatabaseError(error.message, { origin: 'drop_column', internalTables: [internalTable] }, error);
} finally {
await tjdbQueryRunnner.release();
}
}