增加一些数据
EntityFacade可以从XML文件加载数据或写数据到XML文件。基本上是xml元素名和实体名称对应,属性与字段名对应。
我们后面将创建一个界面来输入数据,你可以使用工具应用中的Auto页面或实体数据导入页面来操作新实体中的记录。数据文件对于代码依赖的种子文件、用于测试的数据和演示数据模型应如何被使用的数据来说是有用的。
在以下位置创建一个EntityFacade XML数据文件:
runtime/component/tutorial/data/TutorialDemoData.xml
在此文件中加一个 entity-facade-xml 元素,子元素为实体全名,也就是 包名 加 实体名 (tutorial.Tutorial):
<?xml version="1.0" encoding="UTF-8"?>
<entity-facade-xml type="demo">
<tutorial.Tutorial tutorialId="TestOne" description="Test one description."/>
<tutorial.Tutorial tutorialId="TestTwo" description="Test two description."/>
</entity-facade-xml>
注意 type 属性被设置为 “demo”。在加载数据(java -jar moqui.war load)时被用到,限制只加载指定类型的数据。可以用任意文本作为数据文件类型,不过有一些在框架内使用的标准类型如: seed、seed-initial、install、demo和test。
在生产实例上被加载的标准类型集有 seed、seed-initial和 install。 用于演示数据的 demo 类型在开发和测试时被用到。test 类型的文件将覆写存储在数据库中的生产设置,所以为了终端用户体验或开发者测试,更安全的做法是克隆生产数据库。test 类型的数据在Moqui的 instance_purpose 被设置为 "test" 时被自动加载。
关于数据加载的更多信息请查阅 数据和资源 => 实体数据导入与导出。
加载数据最简单的方式就是在Tools应用中的 Data Import 页面中操作:
http://localhost:8080/vapps/tools/Entity/DataImport
- 点击表单的 XML Text 段,贴入上面的xml
- 点击 Import Data -Create Only 按钮
- 你也可以点击 Import Data - Create or Update 按钮,但是因为我们知道现在还没有这些记录,所以我们使用 Create Only按钮,其意图是避免在生产服务器上加载数据时替换掉可能已经被修改的记录。
如果Moqui没在运行,要从命令行加载,运行 $ ./gradlew load 或使用在 运行和部署 中描述的其他加载方法。