mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 14:41:23 +00:00
fix: add migration
This commit is contained in:
parent
6dafc85242
commit
fdb0328838
@ -0,0 +1,39 @@
|
||||
import { Migration } from '@nocobase/server';
|
||||
|
||||
export default class extends Migration {
|
||||
async up() {
|
||||
const result = await this.app.version.satisfies('<0.9.2-alpha.5');
|
||||
if (!result) {
|
||||
return;
|
||||
}
|
||||
const r = this.db.getRepository('uiSchemas');
|
||||
const items = await r.find({
|
||||
filter: {
|
||||
'schema.x-designer': 'AssociationSelect.Designer',
|
||||
},
|
||||
});
|
||||
await this.db.sequelize.transaction(async (transaction) => {
|
||||
for (const item of items) {
|
||||
const schema = item.schema;
|
||||
if (!schema['x-collection-field']) {
|
||||
continue;
|
||||
}
|
||||
const field = this.db.getFieldByPath(schema['x-collection-field']);
|
||||
if (!field) {
|
||||
continue;
|
||||
}
|
||||
if (['hasOne', 'belongsTo'].includes(field.type)) {
|
||||
schema['type'] = 'object';
|
||||
} else if (['hasMany', 'belongsToMany'].includes(field.type)) {
|
||||
schema['type'] = 'array';
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
schema['x-designer'] = 'FormItem.Designer';
|
||||
schema['x-component'] = 'CollectionField';
|
||||
item.set('schema', schema);
|
||||
await item.save({ transaction });
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -90,7 +90,7 @@ export class UiSchemaStoragePlugin extends Plugin {
|
||||
|
||||
async load() {
|
||||
this.db.addMigrations({
|
||||
namespace: 'collection-manager',
|
||||
namespace: 'ui-schema-storage',
|
||||
directory: path.resolve(__dirname, './migrations'),
|
||||
context: {
|
||||
plugin: this,
|
||||
|
Loading…
Reference in New Issue
Block a user