我正在开发一个需要自定义约束以进行行访问并最终自定义过滤器的项目,但是我很难理解它们背后的逻辑是在 cuba 应用程序本身而不是在 cuba studio 中定义的(尤其是约束)。作为开发人员,我需要在开发过程中定义约束,然后能够以某种方式使用内置约束来部署应用程序。实现这一目标的最佳方法是什么?我现在只能看到两种可能性:
手动复制 INIT DATA 中相应表的 sql
手动导出表并将其导入已部署的应用程序
我正在开发一个需要自定义约束以进行行访问并最终自定义过滤器的项目,但是我很难理解它们背后的逻辑是在 cuba 应用程序本身而不是在 cuba studio 中定义的(尤其是约束)。作为开发人员,我需要在开发过程中定义约束,然后能够以某种方式使用内置约束来部署应用程序。实现这一目标的最佳方法是什么?我现在只能看到两种可能性:
手动复制 INIT DATA 中相应表的 sql
手动导出表并将其导入已部署的应用程序
由于您希望在应用程序中内置的是数据库内容,因此您必须以某种方式将数据放入已部署应用程序的数据库中。
正如您所说,您可以为此使用 30.create-db.sql 文件。另一种方法是使用实体实例的通用导出和导入功能作为 JSON。这些 zip 文件可以在应用程序手动启动后导入,或者您可以创建一些工具在应用程序启动时执行此操作。在这里您可以找到有关不同可能性的更多详细信息: https ://www.road-to-cuba-and-beyond.com/test-and-seed-data/
在围绕 testdata的github 项目中,我创建了一个JsonDataImporter,它将获取您从实体检查器中提取的 JSON 文件并加载它们。