|
|
|
@ -44,6 +44,7 @@ type MetaDiff = {
|
|
|
|
|
table_name: string; |
|
|
|
|
base_id: string; |
|
|
|
|
type: ModelTypes; |
|
|
|
|
meta?: any; |
|
|
|
|
detectedChanges: Array<MetaDiffChange>; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -176,6 +177,7 @@ async function getMetaDiff(
|
|
|
|
|
|
|
|
|
|
const tableProp: MetaDiff = { |
|
|
|
|
title: oldMeta.title, |
|
|
|
|
meta: oldMeta.meta, |
|
|
|
|
table_name: table.tn, |
|
|
|
|
base_id: base.id, |
|
|
|
|
type: ModelTypes.TABLE, |
|
|
|
@ -248,6 +250,7 @@ async function getMetaDiff(
|
|
|
|
|
for (const model of oldTableMetas) { |
|
|
|
|
changes.push({ |
|
|
|
|
table_name: model.table_name, |
|
|
|
|
meta: model.meta, |
|
|
|
|
base_id: base.id, |
|
|
|
|
type: ModelTypes.TABLE, |
|
|
|
|
detectedChanges: [ |
|
|
|
@ -452,6 +455,7 @@ async function getMetaDiff(
|
|
|
|
|
|
|
|
|
|
const tableProp: MetaDiff = { |
|
|
|
|
title: oldMeta.title, |
|
|
|
|
meta: oldMeta.meta, |
|
|
|
|
table_name: view.tn, |
|
|
|
|
base_id: base.id, |
|
|
|
|
type: ModelTypes.VIEW, |
|
|
|
@ -520,6 +524,7 @@ async function getMetaDiff(
|
|
|
|
|
for (const model of oldViewMetas) { |
|
|
|
|
changes.push({ |
|
|
|
|
table_name: model.table_name, |
|
|
|
|
meta: model.meta, |
|
|
|
|
base_id: base.id, |
|
|
|
|
type: ModelTypes.TABLE, |
|
|
|
|
detectedChanges: [ |
|
|
|
@ -539,7 +544,7 @@ async function getMetaDiff(
|
|
|
|
|
|
|
|
|
|
export async function metaDiff(req, res) { |
|
|
|
|
const project = await Project.getWithInfo(req.params.projectId); |
|
|
|
|
let changes = [] |
|
|
|
|
let changes = []; |
|
|
|
|
for (const base of project.bases) { |
|
|
|
|
try { |
|
|
|
|
// @ts-ignore
|
|
|
|
@ -556,7 +561,7 @@ export async function metaDiff(req, res) {
|
|
|
|
|
export async function baseMetaDiff(req, res) { |
|
|
|
|
const project = await Project.getWithInfo(req.params.projectId); |
|
|
|
|
const base = await Base.get(req.params.baseId); |
|
|
|
|
let changes = [] |
|
|
|
|
let changes = []; |
|
|
|
|
|
|
|
|
|
const sqlClient = NcConnectionMgrv2.getSqlClient(base); |
|
|
|
|
changes = await getMetaDiff(sqlClient, project, base); |
|
|
|
@ -598,7 +603,11 @@ export async function metaDiffSync(req, res) {
|
|
|
|
|
|
|
|
|
|
const model = await Model.insert(project.id, base.id, { |
|
|
|
|
table_name: table_name, |
|
|
|
|
title: getTableNameAlias(table_name, base.is_meta ? project.prefix : '', base), |
|
|
|
|
title: getTableNameAlias( |
|
|
|
|
table_name, |
|
|
|
|
base.is_meta ? project.prefix : '', |
|
|
|
|
base |
|
|
|
|
), |
|
|
|
|
type: ModelTypes.TABLE, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -698,10 +707,14 @@ export async function metaDiffSync(req, res) {
|
|
|
|
|
}); |
|
|
|
|
const parentCol = await parentModel |
|
|
|
|
.getColumns() |
|
|
|
|
.then((cols) => cols.find((c) => c.column_name === change.rcn)); |
|
|
|
|
.then((cols) => |
|
|
|
|
cols.find((c) => c.column_name === change.rcn) |
|
|
|
|
); |
|
|
|
|
const childCol = await childModel |
|
|
|
|
.getColumns() |
|
|
|
|
.then((cols) => cols.find((c) => c.column_name === change.cn)); |
|
|
|
|
.then((cols) => |
|
|
|
|
cols.find((c) => c.column_name === change.cn) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
await Column.update(childCol.id, { |
|
|
|
|
...childCol, |
|
|
|
@ -784,7 +797,11 @@ export async function baseMetaDiffSync(req, res) {
|
|
|
|
|
|
|
|
|
|
const model = await Model.insert(project.id, base.id, { |
|
|
|
|
table_name: table_name, |
|
|
|
|
title: getTableNameAlias(table_name, base.is_meta ? project.prefix : '', base), |
|
|
|
|
title: getTableNameAlias( |
|
|
|
|
table_name, |
|
|
|
|
base.is_meta ? project.prefix : '', |
|
|
|
|
base |
|
|
|
|
), |
|
|
|
|
type: ModelTypes.TABLE, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|