mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 10:26:45 +00:00
chore(collection-manager): migration - 20221104151410-update-collections-hidden (#1039)
This commit is contained in:
parent
b425ac0413
commit
dd20951323
@ -0,0 +1,47 @@
|
||||
import { Database, MigrationContext, mockDatabase } from '@nocobase/database';
|
||||
import UpdateCollectionsHiddenMigration from '../../migrations/20221104151410-update-collections-hidden';
|
||||
|
||||
import { createApp } from '../index';
|
||||
import { MockServer } from '@nocobase/test';
|
||||
|
||||
describe('migration 20221104151410-update-collections-hidden test', () => {
|
||||
let app: MockServer;
|
||||
let db: Database;
|
||||
|
||||
beforeEach(async () => {
|
||||
app = await createApp();
|
||||
db = app.db;
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
await app.destroy();
|
||||
});
|
||||
it('20221104151410-update-collections-hidden up method test', async () => {
|
||||
await db.getCollection('collections').model.create({
|
||||
name: 'test',
|
||||
options: {
|
||||
autoCreate: true,
|
||||
isThrough: true,
|
||||
},
|
||||
hidden: false,
|
||||
});
|
||||
|
||||
const result = await db.getRepository('collections').findOne({
|
||||
filter: {
|
||||
name: 'test',
|
||||
},
|
||||
});
|
||||
expect(result.get('hidden')).toBeFalsy();
|
||||
|
||||
const migration = new UpdateCollectionsHiddenMigration({ db } as MigrationContext);
|
||||
migration.context.app = app;
|
||||
await migration.up();
|
||||
|
||||
const upResult = await db.getRepository('collections').findOne({
|
||||
filter: {
|
||||
name: 'test',
|
||||
},
|
||||
});
|
||||
expect(upResult.get('hidden')).toBeTruthy();
|
||||
});
|
||||
});
|
@ -0,0 +1,31 @@
|
||||
import { Migration } from '@nocobase/server';
|
||||
|
||||
export default class UpdateCollectionsHiddenMigration extends Migration {
|
||||
async up() {
|
||||
const result = await this.app.version.satisfies('<=0.8.0-alpha.9');
|
||||
if (!result) {
|
||||
return;
|
||||
}
|
||||
const db = this.app.db;
|
||||
const transaction = await db.sequelize.transaction();
|
||||
try {
|
||||
await db.getRepository('collections').update({
|
||||
filter: {
|
||||
options: {
|
||||
autoCreate: true,
|
||||
isThrough: true,
|
||||
},
|
||||
},
|
||||
values: {
|
||||
hidden: true,
|
||||
},
|
||||
transaction,
|
||||
});
|
||||
|
||||
await transaction.commit();
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
await transaction.rollback();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user