{"id":1305,"date":"2026-02-15T20:14:30","date_gmt":"2026-02-15T20:14:30","guid":{"rendered":"https:\/\/docs.ai.drawconclusions.org\/?page_id=1305"},"modified":"2026-02-24T12:45:55","modified_gmt":"2026-02-24T12:45:55","slug":"database","status":"publish","type":"page","link":"https:\/\/docs.ai.drawconclusions.org\/?page_id=1305","title":{"rendered":"Database"},"content":{"rendered":"<h2>Overview<\/h2>\n<ul>\n<li>Database: PostgreSQL 16 (image <code>postgres:16-alpine<\/code>).<\/li>\n<li>UUIDv4 primary keys are used across all tables (see <code>conventions.md<\/code>, ID: DOC-CONV-UUID).<\/li>\n<li>Container name: <code>Db<\/code> (service name <code>db<\/code> in <code>server\/var_www\/docker-compose.yml<\/code>).<\/li>\n<li>Database name: <code>draconai<\/code>.<\/li>\n<li>Database user: <code>draconai<\/code>.<\/li>\n<li>Port: <code>5432<\/code>.<\/li>\n<li>Admin UI: phpMyAdmin at <code>https:\/\/pma.ai.drawconclusions.org\/<\/code> via Traefik.<\/li>\n<li>phpMyAdmin container name: <code>PhpMyAdmin<\/code>.<\/li>\n<li>Admin login is seeded from <code>config.xml<\/code> (<code>admin\/email<\/code> + <code>admin\/password<\/code>).<\/li>\n<li><code>users.password_reset_token<\/code> stores reset tokens for the forgot\/reset flow.<\/li>\n<li><code>users.password_reset_token_expires_at<\/code> stores token expiry (1 hour).<\/li>\n<\/ul>\n<h2>Access (phpMyAdmin)<\/h2>\n<h2>Pma<\/h2>\n<p>1. Open <code>https:\/\/pma.ai.drawconclusions.org\/<\/code>. 2. Use:<\/p>\n<ul>\n<li>Server: <code>db<\/code> (Docker service name).<\/li>\n<li>Username: <code>draconai<\/code><\/li>\n<li>Password: <code>draconai<\/code><\/li>\n<li>Database: <code>draconai<\/code><\/li>\n<\/ul>\n<h2>Tables<\/h2>\n<ul>\n<li><code>health_check<\/code><\/li>\n<li><code>users<\/code><\/li>\n<li><code>emails<\/code><\/li>\n<li><code>thoughts<\/code><\/li>\n<li><code>user_register<\/code><\/li>\n<li><code>user_register.expires_at<\/code> stores pending registration expiry (24 hours).<\/li>\n<li>Table pages are the canonical source for schema details (purpose, columns, keys\/indexes, relations, and usage).<\/li>\n<\/ul>\n<p class=\"developerdocs-id-search\" aria-hidden=\"true\">DeveloperDoc ID: dd_id_1684ee2db8<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Database: PostgreSQL 16 (image postgres:16-alpine). UUIDv4 primary keys are used across all tables (see conventions.md, ID: DOC-CONV-UUID). Container name: Db (service name db in server\/var_www\/docker-compose.yml). Database name: draconai. Database user: draconai. Port: 5432. Admin UI: phpMyAdmin at https:\/\/pma.ai.drawconclusions.org\/ via Traefik. phpMyAdmin container name: PhpMyAdmin. Admin login is seeded from config.xml (admin\/email + admin\/password). users.password_reset_token [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1289,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[2],"doc_layer":[30],"class_list":["post-1305","page","type-page","status-publish","hentry","doc_category-database_tables","layer-dd_id_8f59177ca0"],"_links":{"self":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1305"}],"version-history":[{"count":5,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1305\/revisions"}],"predecessor-version":[{"id":3821,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1305\/revisions\/3821"}],"up":[{"embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=\/wp\/v2\/pages\/1289"}],"wp:attachment":[{"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1305"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_category&post=1305"},{"taxonomy":"doc_layer","embeddable":true,"href":"https:\/\/docs.ai.drawconclusions.org\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_layer&post=1305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}