# \[FEATURE\] Database Management for Custom Tables and other SQL resources

**URL:** <https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090>\
**Category:** Ignition\
**Created:** [November 11, 2025, 6:05am UTC](https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090 "2025-11-11T06:05:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [November 11, 2025, 6:05am UTC](https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090/1 "2025-11-11T06:05:01Z")

</div>

I don't know if this is feasible, however I was thinking that it would be nice to be able to define the DDL for custom tables and other SQL resources within Ignition, which Ignition would then use to create those objects if they don't already exist.

This would save having to write this into your script libraries for your custom table definitions and would provide a central location to house them. This would make it far simpler to also restore objects within a database, with the definitions all stored within the gateway backup to better support a single source of configuration.

Idea to vote:

> **[Database Management for Custom Tables and other SQL resources | Ignition...](https://ideas.inductiveautomation.com/ignition-features-and-ideas/p/database-management-for-custom-tables-and-other-sql-resources)**
>
> I don't know if this is feasible, however I was thinking that it would be nice to be able to define the DDL for custom tables and other SQL resources within

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 11, 2025, 1:19pm UTC](https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090/2 "2025-11-11T13:19:38Z")

</div>

This exists in the SDK, and is used by Ignition itself to create historian tables and SQL Bridge target tables.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 11, 2025, 4:58pm UTC](https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090/3 "2025-11-11T16:58:18Z")

</div>

It does, and I actually had the idea of exposing it via scripting a _long_ time ago.

At this point in time I'm hesitant to do so:

1. I'm not sure how well our homegrown abstraction holds to public scrutiny - obviously it works okay for historian, SQL bridge, and others, but it won't do all the things for all the people - just what we've needed it to do over time.
2. Making it public API makes it a **lot** stricter to maintain. It's easy for us to evolve a Java interface/contract over time and we only have to worry about basic ABI compatibility within a minor version. Once it becomes part of a scripting interface, it's a **lot** harder to migrate.

For reference on 'a long time ago':  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/1/8129c953ba31b8376238023080535916dedeb845.png)

---

<div class="post-metadata">

**Author:** ![dillon](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dillon/32/81537_2.png) [@dillon](https://forum.inductiveautomation.com/u/dillon)\
**Post date:** [November 11, 2025, 5:10pm UTC](https://forum.inductiveautomation.com/t/feature-database-management-for-custom-tables-and-other-sql-resources/112090/4 "2025-11-11T17:10:14Z")

</div>

> [@paul-griffith](#):
>
> a long time ago

That idea is out of diapers (hopefully) and entering ~~kindergarten~~ second grade...
