【问题标题】:How to create DB tables for custom objects in Intershop7.9如何在 Intershop7.9 中为自定义对象创建数据库表
【发布时间】:2018-06-13 11:42:30
【问题描述】:

我们正在尝试在 Intershop 数据库中插入自定义对象的表。我们正在通过 EDL 文件创建 ORM 模型并使用“Intershop Code generator for 7.2 及更高版本”生成代码,但是没有为表生成 DDL 模式的选项,这在 Enfinity Studio 6.4 中是可能的。

Code generator screenshot - Intershop 7 Studio

在 Intershop 支持网站上有关于如何在 dbinit 期间仅执行 DDL 准备程序的说明,但仅适用于处于测试阶段的 7.10 版。

是否可以仅在 Intershop 7.9 中初始化自定义 DB 表或生成可以直接在 DB 上执行的 DDL 模式?我们不希望每次需要在 DB 中创建新的自定义对象时都运行整个 dbinit 进程。

【问题讨论】:

    标签: database orm intershop


    【解决方案1】:

    对于 7.x,您不需要生成用于创建表的 DDL。现在由准备处理。您可以使用这些 dbmigration 准备为您创建表。

    Class1 = com.intershop.beehive.core.dbmigrate.preparer.database.DatabaseTablesPreparer
    
    Class2 = com.intershop.beehive.core.dbmigrate.preparer.database.DatabaseIndexesPreparer \
             resources/custom_cartridge/dbinit/scripts/1.0.0.0/dbindex.ddl
    
    Class3 = com.intershop.beehive.core.dbmigrate.preparer.database.DatabaseConstraintsPreparer \
             resources/custom_cartridge/dbinit/scripts/1.0.0.0/dbconstraints.ddl
    

    正如您在上面看到的,您仍然可以获得约束和索引的 DDL

    【讨论】:

    • 是否可以在不运行整个 dbinit 进程的情况下执行这些单个准备程序?
    • 是的,如果您运行 dbmigrate,那些准备将只运行一次,创建表,然后再也不会运行。始终在初始 dbinit 之后在生产环境中运行 dbmigrate。
    猜你喜欢
    • 2016-02-20
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多