This commit is contained in:
ajie
2025-08-21 11:28:29 +08:00
committed by GitHub
parent a7aed92e31
commit 255f2126fa
2 changed files with 20 additions and 13 deletions
@@ -24,14 +24,22 @@ describe('list view', () => {
});
it('should list view', async () => {
const dropViewSQL1 = `DROP VIEW IF EXISTS test1`;
if (db.inDialect('postgres')) {
await db.prepare();
}
const viewName1 = 'test1';
const newViewName1 = db.options.schema ? `${db.options.schema}.${viewName1}` : viewName1;
const dropViewSQL1 = `DROP VIEW IF EXISTS ${newViewName1}`;
await db.sequelize.query(dropViewSQL1);
const dropViewSQL2 = `DROP VIEW IF EXISTS test2`;
const viewName2 = 'test2';
const newViewName2 = db.options.schema ? `${db.options.schema}.${viewName2}` : viewName2;
const dropViewSQL2 = `DROP VIEW IF EXISTS ${newViewName2}`;
await db.sequelize.query(dropViewSQL2);
const sql1 = `CREATE VIEW test1 AS SELECT 1`;
const sql2 = `CREATE VIEW test2 AS SELECT 2`;
const sql1 = `CREATE VIEW ${newViewName1} AS SELECT 1`;
const sql2 = `CREATE VIEW ${newViewName2} AS SELECT 2`;
await db.sequelize.query(sql1);
await db.sequelize.query(sql2);
@@ -140,7 +140,7 @@ SELECT * FROM numbers;
values: {
name: testViewName,
view: true,
schema: app.db.options.schema,
schema: app.db.inDialect('postgres') ? app.db.options.schema || 'public' : undefined,
fields: [
{
name: 'numbers',
@@ -191,7 +191,7 @@ SELECT * FROM numbers;
return;
}
const jsonViewName = 'json_view';
const createJsonViewName = app.db.inDialect('postgres') ? `${app.db.options.schema}.${jsonViewName}` : jsonViewName;
const createJsonViewName = app.db.options.schema ? `${app.db.options.schema}.${jsonViewName}` : jsonViewName;
const dropSql = `DROP VIEW IF EXISTS ${createJsonViewName}`;
await app.db.sequelize.query(dropSql);
@@ -276,12 +276,11 @@ SELECT * FROM numbers;
expect(response.status).toBe(200);
// drop view first
await app.db.sequelize.query(dropSQL);
// remove source collection
await app.db.getCollection('collections').repository.destroy({
filterByTk: 'users',
cascade: true,
context: {},
});
@@ -330,7 +329,7 @@ SELECT * FROM numbers;
values: {
name: viewName,
view: true,
schema: app.db.inDialect('postgres') ? app.db.options.schema : undefined,
schema: app.db.inDialect('postgres') ? app.db.options.schema || 'public' : undefined,
fields: [
{
name: 'name',
@@ -444,7 +443,7 @@ SELECT * FROM numbers;
values: {
name: viewName,
view: true,
schema: app.db.inDialect('postgres') ? app.db.options.schema : undefined,
schema: app.db.inDialect('postgres') ? app.db.options.schema || 'public' : undefined,
fields: [
{
name: 'id',
@@ -578,7 +577,7 @@ SELECT * FROM numbers;
const foreignField = User.model.rawAttributes[foreignKey].field;
const viewName = `test_view_${uid(6)}`;
const createViewName = db.inDialect('postgres') ? `${db.options.schema}.${viewName}` : viewName;
const createViewName = app.db.options.schema ? `${db.options.schema}.${viewName}` : viewName;
await db.sequelize.query(`DROP VIEW IF EXISTS ${createViewName}`);
const queryInterface = db.sequelize.getQueryInterface();
@@ -590,7 +589,7 @@ SELECT * FROM numbers;
const response = await agent.resource('dbViews').get({
filterByTk: viewName,
schema: db.inDialect('postgres') ? app.db.options.schema : undefined,
schema: db.inDialect('postgres') ? app.db.options.schema || 'public' : undefined,
pageSize: 20,
});
@@ -602,7 +601,7 @@ SELECT * FROM numbers;
name: viewName,
view: true,
fields: Object.values(fields),
schema: db.inDialect('postgres') ? app.db.options.schema : undefined,
schema: db.inDialect('postgres') ? app.db.options.schema || 'public' : undefined,
},
context: {},
});