Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13714

Database schema creation respects custom schema or table prefix

    • Icon: Feature Request Feature Request
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • engine
    • None

      User Story (Required on creation):

      As a user, I can change set a database schema or a table prefix and the engine creates the database schema automatically when bootstrapping.

      Functional Requirements (Required before implementation):

      When setting the databaseTablePrefix or databaseSchema property, the default create scripts are adjusted accordingly on the fly and the database schema is created automatically; currently, the create scripts need to be manually adjusted to reflect the aforementioned properties.

      Technical Requirements (Required before implementation):

      -

      Limitations of Scope (Optional):

      -

      Hints (optional):

      -

      Solution ideas

      1. Use regular expressions to adjust the default create scripts on the fly
      2. Use a template language to define where in the schema definitions the schema name/table prefix should be set

      Original Ticket Description

      By adding the following setting to process.xml, it is expected tables be created with this schema and prefix. But tables are created in default schema and no prefix applied.

      <property name="databaseTablePrefix">MY_SCHEMA.MY_PREFIX</property>

      It needs to be when create table automatically with databaseSchemaUpdate=true, schema and table prefix are also applied.

       

        This is the controller panel for Smart Panels app

            [CAM-13714] Database schema creation respects custom schema or table prefix

            Hi mojtaba.khallash,

            Thank you for your pull request.

            I will have a look soon.

            Stay tuned!

            Best,
            Tassilo

            Tassilo Weidner added a comment - Hi mojtaba.khallash , Thank you for your pull request. I will have a look soon. Stay tuned! Best, Tassilo

            Tobias Metzke-Bernstein added a comment - - edited

            Hi mojtaba.khallash,

            thanks for moving forward with this, your pull request, and the time and effort invested.

            As Tassilo already explained in the pull request, adding support for such a feature is more complex than obvious at first sight.
            It involves building code compliant with a lot of different databases that also handle such a topic in different ways.
            The differences might be subtle, but the consequences for the code dealing with it can be actually quite substantial.
            Adding to this, having such a feature in the core of the platform requires a very good test coverage for all databases we support.

            From a product point of view, I also want to add that this feature doesn't cater to the generally recommended procedure of setting up a production-ready environment for the platform.
            Looking at our installation guide, we clearly state that we recommend owning the database yourself and manually creating the schema, for example.

            As a result, I believe that we will not build such a feature ourselves in the near future.
            An external contribution for that specific topic might also be complicated.
            There are a lot of internal procedures and dependencies attached here that we don't expect external contributors to be aware of.
            Those are also hard to convey completely in detail upfront from our side.

            I would encourage you to focus on the recommended approach and make use of the tools provided by your database distribution to achieve such a thing.

            We will keep the ticket in our backlog, but we don't expect to build such a mechanism in the near future.
            Let us know if there is anything else related to this.

            Best,
            Tobias

            Tobias Metzke-Bernstein added a comment - - edited Hi mojtaba.khallash , thanks for moving forward with this, your pull request, and the time and effort invested. As Tassilo already explained in the pull request, adding support for such a feature is more complex than obvious at first sight. It involves building code compliant with a lot of different databases that also handle such a topic in different ways. The differences might be subtle, but the consequences for the code dealing with it can be actually quite substantial. Adding to this, having such a feature in the core of the platform requires a very good test coverage for all databases we support. From a product point of view, I also want to add that this feature doesn't cater to the generally recommended procedure of setting up a production-ready environment for the platform. Looking at our installation guide , we clearly state that we recommend owning the database yourself and manually creating the schema, for example. As a result, I believe that we will not build such a feature ourselves in the near future. An external contribution for that specific topic might also be complicated. There are a lot of internal procedures and dependencies attached here that we don't expect external contributors to be aware of. Those are also hard to convey completely in detail upfront from our side. I would encourage you to focus on the recommended approach and make use of the tools provided by your database distribution to achieve such a thing. We will keep the ticket in our backlog, but we don't expect to build such a mechanism in the near future. Let us know if there is anything else related to this. Best, Tobias

            We are closing this ticket as part of our backlog grooming. Reasons:

            • It is very unlikely that we will implement this

            Thorben Lindhauer added a comment - We are closing this ticket as part of our backlog grooming. Reasons: It is very unlikely that we will implement this

              Unassigned Unassigned
              mojtaba.khallash Mojtaba Khallash
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: