Merge branch 'main' into next
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Build Pro Image / build-and-push (push) Waiting to run
E2E / Build (push) Waiting to run
E2E / Core and plugins (push) Blocked by required conditions
E2E / plugin-workflow (push) Blocked by required conditions
E2E / plugin-workflow-approval (push) Blocked by required conditions
E2E / plugin-data-source-main (push) Blocked by required conditions
E2E / Comment on PR (push) Blocked by required conditions
NocoBase Backend Test / sqlite-test (20, false) (push) Waiting to run
NocoBase Backend Test / sqlite-test (20, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, nocobase, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, nocobase, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, public, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, public, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, nocobase, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, nocobase, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, public, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, public, true) (push) Waiting to run
NocoBase Backend Test / mysql-test (20, false) (push) Waiting to run
NocoBase Backend Test / mysql-test (20, true) (push) Waiting to run
NocoBase Backend Test / mariadb-test (20, false) (push) Waiting to run
NocoBase Backend Test / mariadb-test (20, true) (push) Waiting to run
NocoBase FrontEnd Test / frontend-test (18) (push) Waiting to run
Test on Windows / build (push) Waiting to run

This commit is contained in:
GitHub Actions Bot 2024-08-15 09:10:20 +00:00
commit 954daa0943
2 changed files with 38 additions and 1 deletions

View File

@ -9,6 +9,43 @@
import { Database, mockDatabase } from '@nocobase/database';
describe.runIf(process.env.DB_DIALECT === 'mysql')('mysql', async () => {
let db: Database;
beforeEach(async () => {
db = mockDatabase({
logging: console.log,
});
await db.clean({ drop: true });
});
afterEach(async () => {
await db.close();
});
it('should show table def table name has reserved word', async () => {
const User = db.collection({
name: 'users',
tableName: `interval`,
fields: [
{
type: 'string',
name: 'name',
},
],
});
await db.sync();
const tableDef = await db.queryInterface.showTableDefinition({
tableName: User.options.tableName,
});
expect(tableDef).toBeDefined();
});
});
describe('query interface', async () => {
let db: Database;

View File

@ -91,7 +91,7 @@ export default class MysqlQueryInterface extends QueryInterface {
async showTableDefinition(tableInfo: TableInfo): Promise<any> {
const { tableName } = tableInfo;
const sql = `SHOW CREATE TABLE ${tableName}`;
const sql = `SHOW CREATE TABLE ${this.db.utils.quoteTable(tableName)}`;
const results = await this.db.sequelize.query(sql, { type: 'SELECT' });