我想通过在Post模式中添加一个布尔型“ frontPage”字段来扩展KeystoneJS中的Blog,我想使用该字段在首页上显示选定的帖子。
我想出了以下代码,并将它们放在了updates文件夹中:
var keystone = require('keystone');
var async = require('async');
exports = module.exports = function (done) {
let post = keystone.list('Post');
post.add({
frontPage: Boolean
});
done();
};
它似乎起作用,但是当我重新启动服务器时更改不会持久。所有文档都描述了创建新列表的过程,但是没有文档说明如何修改现有列表。还尝试在末尾添加post.register()
,但没有运气。
是否存在用于保留新模式的功能,或者我应该为此在Keystone外部编写一个shell脚本?
谢谢
答案 0 :(得分:0)
它似乎起作用,但是当我重新启动服务器时更改不会持久。
application updates
folder中的脚本用于数据导入或迁移,并且有意仅应用于给定部署一次。
所有文档都描述了创建新列表的过程,但是没有文档说明如何修改现有列表。
要添加,删除或更改模型中的字段,应在Keystone项目中修改文件(例如:models/Post.js
),然后重新启动应用程序以获取更改。
除非您想包括相关的数据更改(例如,为现有文档设置值),否则通常无需创建相应的update
脚本。