【问题标题】:Can I manually create system fields on a custom table?我可以在自定义表上手动创建系统字段吗?
【发布时间】:2016-07-05 14:33:33
【问题描述】:

我目前正在开发一个使用多个自定义表格的新 Kentico 9 站点。这些表中已经包含数据,并且正在通过 API 在代码中加以利用。在 Kentico 中创建自定义表的人在创建过程中未选中几个系统字段,因此只会创建 ItemGUID 字段:

既然自定义表已经创建并正在使用中,我是否可以在此表中创建或重新添加其他列(ItemCreatedBy、ItemCreatedWhen 等)?如果可以,如何实现?


注意:我目前的方法是使用我想要的字段创建一个新的自定义表并将数据迁移到新表中(尽管我们确实有超过 30 个表,所以我宁愿不必手动执行此操作)。

【问题讨论】:

    标签: c# kentico


    【解决方案1】:

    你有几个选择:

    • 使用您当前的方法(可能是最快的恕我直言)
    • 手动更新表以包含系统字段(可以编写数据库部分的脚本),但您还需要更新 cms_class 表中自定义表的定义以获得这些新字段(几乎可以从另一个自定义表定义)。
    • 使用现有的自定义表创建一个新的自定义表并添加这些字段。这样做的缺点是您不能使用已在 cms_class 表中定义的自定义表。
    • 创建一些 C# 方法,从本质上创建具有当前列和系统列的新自定义表。将是“一次性”代码块。

    根据你想花多少时间,我认为最后一个选项确实可行。

    【讨论】:

    • 感谢您对此进行全面检查。我最终编写了一次性代码来创建表并为我迁移数据。老实说,它最终并没有花费太长时间,尽管最困难的部分是弄清楚如何使用 Kentico Data API 执行这些操作。
    猜你喜欢
    • 2018-07-29
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2020-09-17
    相关资源
    最近更新 更多