At quick glance I already see several things in that prompt are completely incorrect. For example: MariaDB has natively supported sequences for quite some time; for decades all versions of MySQL/MariaDB support "bool" or "boolean" as an alias; the timestamp default value advice is wrong as any arbitrary expression can be used; etc.
These are all easily testable in Docker containers. There's a concerning lack of attention to detail here, or perhaps the prompt itself was also created using AI and it bakes in hallucinations from the get-go.
As for the AGPL: in ChartDB's previous Show HN (only 6 weeks ago), I asked how they were running an enhanced paid SaaS when they had so many external contributions prior to adopting a CLA, and I did not receive a response [1].
In my experience most AI coding tools can work with databases, especially if you give it an MCP tool to connect to your (development) database. It will generate mermaid er-diagrams by reading from your database catalog, it will generate SQL to create tables, views, etc. It will generate queries, validate them and return data. It will optimize your query performance by running the query, running explain plan, looking into pg_stat_statements (or whatevery your database uses), and propose SQL optimization, indexes to be created. It will also create demo data with realistic use cases like black friday or back to school discounts for prices, etc.
A SQL MCP + mermaid is all you need.
Btw, it can also do an awesome job turning query plans into readable mermaid flow diagrams, adding details to the chart, using color to highlight bottlenecks.
It seems very useful for people that haven't designed many databases (it follows good patterns), but I feel like I could build the ERD faster than I could build those detailed prompts (from the examples), and I would get the benefit of naming things my way.
This is really cool! Would love to use that for quite a bit of prototyping on some personal projects!
Only thing I kinda dislike is the low readability of the connection because of that border around the table of the same color as the connection lines (I think things would look cleaner without it)
Wow, how can you afford offering free AI on the homepage for an OSS project? I can barely afford AI APIs even for my own personal use. Seems like it would drive costs through the roof.
The visual is really nice. I can appreciate this tool, but once it’s in my database it’s for the human to manage and update. Do I go back to using this tool? How can this help? I don’t want any tool to read data like mcp can. Read table names, sure.
"OK let's scale this to 100m users" --> Tells me how it would. No schema change.
"Did you update the schema?" --> Updates the schema, tells me what it did.
We've been running into this EXACT failure mode with current models, and it's so irritating. Our agent plans migrations, so it's code-adjacent, but the output is a structured plan (basically: tasks, which are prompt + regex. What to do; where to do it.)
The agent really wants to talk to you about it. Claude wants to write code about it. None of the models want to communicate with the user primarily through tool use, even when (as I'm sure ChartDB is) HEAVILY prompted to do so.
I think there's still a lot of value there, but it's a bummer that we as users are going to have to remind all LLMs for a little bit to do keep using their tools beyond the 1st prompt.
isnt this what the agents are for, you assign them jobs to make changes then evaluate those changes. there is a necessary orchestration piece and maybe even a triage role to sort through things to do and errors to fix
It'd be nice if it also included the queries for each use case, and had a better understanding of sharding. As is, I gave it a bunch of requirements, it created some tables. Was it sufficient? No idea, it didn't say what the query was for each requirement. Would it scale? Again, no idea without the queries. (But actually, no, it wouldn't have scaled; some requirements were impossible without cross-shard scans).
That seems off in my experience, but maybe it's different in different industries.
Either way, working around sharding and scale seems like a place where a good AI could help provide recommendations and tradeoffs, so it's disappointing that the model doesn't seem to deal with it well. For basic relational schema design, I don't see much benefit of having AI.
to save tokens you should have a pre-baked replay play when you click those buttons i just want to see the end result and the process sped up since i dont know what the service does. good luck!
"an open-source tool" --> https://github.com/chartdb/chartdb ( AGPL-3.0 license )
prompts:
https://github.com/chartdb/chartdb/blob/c3c646bf7cbb1328f4b2...
At quick glance I already see several things in that prompt are completely incorrect. For example: MariaDB has natively supported sequences for quite some time; for decades all versions of MySQL/MariaDB support "bool" or "boolean" as an alias; the timestamp default value advice is wrong as any arbitrary expression can be used; etc.
These are all easily testable in Docker containers. There's a concerning lack of attention to detail here, or perhaps the prompt itself was also created using AI and it bakes in hallucinations from the get-go.
As for the AGPL: in ChartDB's previous Show HN (only 6 weeks ago), I asked how they were running an enhanced paid SaaS when they had so many external contributions prior to adopting a CLA, and I did not receive a response [1].
[1] https://news.ycombinator.com/item?id=44972986
> There's a concerning lack of attention to detail here.
I choose to believe that it's a brilliant feint. The author will run all these comments back into their LLM to generate fixes for all of these issues.
In my experience most AI coding tools can work with databases, especially if you give it an MCP tool to connect to your (development) database. It will generate mermaid er-diagrams by reading from your database catalog, it will generate SQL to create tables, views, etc. It will generate queries, validate them and return data. It will optimize your query performance by running the query, running explain plan, looking into pg_stat_statements (or whatevery your database uses), and propose SQL optimization, indexes to be created. It will also create demo data with realistic use cases like black friday or back to school discounts for prices, etc.
A SQL MCP + mermaid is all you need.
Btw, it can also do an awesome job turning query plans into readable mermaid flow diagrams, adding details to the chart, using color to highlight bottlenecks.
Agreed
It seems very useful for people that haven't designed many databases (it follows good patterns), but I feel like I could build the ERD faster than I could build those detailed prompts (from the examples), and I would get the benefit of naming things my way.
This is really cool! Would love to use that for quite a bit of prototyping on some personal projects!
Only thing I kinda dislike is the low readability of the connection because of that border around the table of the same color as the connection lines (I think things would look cleaner without it)
Wow, how can you afford offering free AI on the homepage for an OSS project? I can barely afford AI APIs even for my own personal use. Seems like it would drive costs through the roof.
The visual is really nice. I can appreciate this tool, but once it’s in my database it’s for the human to manage and update. Do I go back to using this tool? How can this help? I don’t want any tool to read data like mcp can. Read table names, sure.
My conversation
"Design a schema like Calendly" --> Did it
"OK let's scale this to 100m users" --> Tells me how it would. No schema change.
"Did you update the schema?" --> Updates the schema, tells me what it did.
We've been running into this EXACT failure mode with current models, and it's so irritating. Our agent plans migrations, so it's code-adjacent, but the output is a structured plan (basically: tasks, which are prompt + regex. What to do; where to do it.)
The agent really wants to talk to you about it. Claude wants to write code about it. None of the models want to communicate with the user primarily through tool use, even when (as I'm sure ChartDB is) HEAVILY prompted to do so.
I think there's still a lot of value there, but it's a bummer that we as users are going to have to remind all LLMs for a little bit to do keep using their tools beyond the 1st prompt.
isnt this what the agents are for, you assign them jobs to make changes then evaluate those changes. there is a necessary orchestration piece and maybe even a triage role to sort through things to do and errors to fix
I can prompt an LLM to make a mermaid diagram and iterate on it. Why do I need "ChartDB"?
I'd gonna go one step further and argue that you don't even need mermaid for creating DB schemas.. direct chat works fairly well for reference.
always used direct chat with an ORM & can't complain
It'd be nice if it also included the queries for each use case, and had a better understanding of sharding. As is, I gave it a bunch of requirements, it created some tables. Was it sufficient? No idea, it didn't say what the query was for each requirement. Would it scale? Again, no idea without the queries. (But actually, no, it wouldn't have scaled; some requirements were impossible without cross-shard scans).
99% of apps never need to shard data. Probably closer to 99.9% if they are single tenant.
That seems off in my experience, but maybe it's different in different industries.
Either way, working around sharding and scale seems like a place where a good AI could help provide recommendations and tradeoffs, so it's disappointing that the model doesn't seem to deal with it well. For basic relational schema design, I don't see much benefit of having AI.
The UI presentation of Schema is really nice. Is there a javascript based UI for web that is used?
On the homepage it says "Sinmple" above "Export SQL", fyi
This is super cool!
Have you thought about making a tool to help preview/dry run migrations?
I feel that's something I would want a ton of confidence in if an LLM is making migration scripts.
Especially if it's doing scary stuff like breaking up a table.
How do you expect an LLM to help here? Can't you just use OverlayFS on the database volume, or a backup thereof, and run the migration against that?
Super cool and useful, thank you. Was just doing some database mapping so this is perfect!
And when will it do class designs? Maybe this would solve many an AI coding issue.
The idea is great but it feels like it uses a dumb model
What can this do that Claude Code cannot? Is it just the ERD?
reddit has only two tables ;)
to save tokens you should have a pre-baked replay play when you click those buttons i just want to see the end result and the process sped up since i dont know what the service does. good luck!
what makes this an "agent"
The for loop I wrote today is an Agent, at least that’s what I’m telling the investors.