Browse Source

prevent relationships getting overridden in mySQL connector

master
Martin McKeaveney 5 years ago
parent
commit
83db9754d5
  1. 15
      packages/server/src/integrations/mysql.ts

15
packages/server/src/integrations/mysql.ts

@ -140,7 +140,7 @@ module MySQLModule {
this.client = mysql.createConnection(config)
}
async buildSchema(datasourceId: string) {
async buildSchema(datasourceId: string, entities: Record<string, Table>) {
const tables: { [key: string]: Table } = {}
const database = this.config.database
this.client.connect()
@ -193,6 +193,19 @@ module MySQLModule {
schema,
}
}
// add the existing relationships from the entities if they exist, to prevent them from being overridden
if (entities && entities[tableName]) {
const existingTableSchema = entities[tableName].schema
for (let key in existingTableSchema) {
if (!existingTableSchema.hasOwnProperty(key)) {
continue
}
if (existingTableSchema[key].type === "link") {
tables[tableName].schema[key] = existingTableSchema[key]
}
}
}
}
this.client.end()

Loading…
Cancel
Save