1.0.75 • Published 2 years ago
directus-migration-tools v1.0.75
Install
npm i directus-migration-tools
Config
- Migration file
extensions/migrations/[indentity]-name.js
const {generateField, upCreateKnex, downCreateKnex} = require('directus-migration-tools')
const config = [
{
collection: {
name: "product",
},
fields: {
id: generateField.genPrimaryKey("uuid"),
name: generateField.genNormal()
}
},
{
collection: {
name: "languages",
meta: {
group: "news_groups"
}
},
fields: {
code: generateField.genPrimaryKey("string"),
name: generateField.genNormal()
}
},
{
collection: {
name: "news_groups",
meta: {
icon: "accessibility",
note: "note string",
///color: "#2ECDA7" ,
translations: [
{
language: "en-US",
translation: "Groups News"
}
]
}
}
},
{
collection: {
name: "tags",
meta: {
group: "news"
}
},
fields: {
id: generateField.genPrimaryKey(),
title: generateField.genNormal(),
}
},
{
collection: {
name: "news_category",
meta: {
group: "news"
}
},
fields: {
id: generateField.genPrimaryKey(),
title: generateField.genNormal(),
translations: generateSpecField.translations("languages", "projects_categories_translations",{
title: generateField.genNormal(),
},{
meta: {
display: "translations",
display_options: {
template: "{{title}}",
languageField: "name",
defaultLanguage: "vi-Vi",
userLanguage: true,
},
},
}),
files: generateSpecField.files("news_category_files",{
meta: {
hidden: true,
},
}),
content: generateSpecField.wysiwyg({
meta: {
hidden: true,
conditions: [overviewAndProblemsCondition],
},
}),
}
},
{
collection: {
name: "news",
meta: {
group: "news_groups"
}
},
fields: {
id: generateField.genPrimaryKey(),
title: generateField.genNormal(),
date_created: generateField.genDatetime("date-created"),
date_updated: generateField.genDatetime("date-updated"),
category: generateField.generateM2o("news_category"),
tags: generateField.generateM2m("tags","news_tags"),
translations: generateField.generateM2m("languages","news_translations", {
meta: {
special: ["translations"],
interface: "translations"
}
}, {
title: generateField.genNormal(),
intro: generateField.genNormal(),
test: generateField.generateM2o("languages"),
field_m2o: generateField.generateM2o("tags"),
field_m2m: generateField.generateM2m("product","news_product_related")
}),
}
},
{
collection: {
name: "menus" ,
} ,
fields: {
id: generateField.genPrimaryKey("integer",{
meta: {
sort: 1
}
}) ,
sort: generateSpecField.sort({
meta: {
sort: 2
}
}) ,
user_created: generateSpecField.userCreated({
meta: {
sort: 3
}
}) ,
date_created: generateSpecField.dateCreated({
meta: {
sort: 4
}
}) ,
name: generateField.genNormal("string" , {
meta: {
sort: 5
}
}) ,
menu_items: generateField.generateO2m("menu_item" , {
related_field: "menu" ,
meta: {
sort: 6
}
})
}
} ,
{
collection: {
name: "menu_item" ,
meta: {
group: "menus"
}
} ,
fields: {
id: generateField.genPrimaryKey("integer",{
meta: {
sort: 1
}
}),
sort: generateSpecField.sort({
meta: {
sort: 2
}
}) ,
user_created: generateSpecField.userCreated({
meta: {
sort: 3
}
}) ,
date_created: generateSpecField.dateCreated({
meta: {
sort: 4
}
}) ,
name: generateField.genNormal("string" , {
meta: {
sort: 5
}
}) ,
url: generateField.genNormal("string" , {
meta: {
sort: 6
}
}) ,
target: generateSpecField.radioButton([
{
"text": "default" ,
"value": "default"
} ,
{
"text": "_blank" ,
"value": "_blank"
}] , {
meta: {
sort: 7
}
}) ,
parent: generateField.generateM2o("menu_item",{
meta: {
sort: 8
}
})
}
}
]
module.exports = {
async up(knex) {
await upCreateKnex(knex, config)
},
async down(knex) {
await downCreateKnex(knex, config)
},
};
1.0.75
2 years ago
1.0.74
2 years ago
1.0.5-6.1
2 years ago
1.0.73
2 years ago
1.0.72
2 years ago
1.0.71
2 years ago
1.0.55
2 years ago
1.0.54
2 years ago
1.0.53
2 years ago
1.0.52
2 years ago
1.0.56
2 years ago
1.0.44
2 years ago
1.0.43
2 years ago
1.0.42
2 years ago
1.0.48
2 years ago
1.0.47
2 years ago
1.0.46
2 years ago
1.0.45
2 years ago
1.0.49
2 years ago
1.0.51
2 years ago
1.0.50
2 years ago
1.0.41
2 years ago
1.0.40
2 years ago
1.0.39
2 years ago
1.0.38
2 years ago
1.0.37
2 years ago
1.0.36
2 years ago
1.0.35
2 years ago
1.0.34
2 years ago
1.0.33
2 years ago
1.0.32
2 years ago
1.0.31
2 years ago
1.0.30-test-1
2 years ago
1.0.30-test
2 years ago
1.0.30
2 years ago
1.0.29
2 years ago
1.0.28
2 years ago
1.0.27
2 years ago
1.0.26
2 years ago
1.0.24
2 years ago
1.0.23
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago