尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ToolJet 示例数据源(Sample Data Source)完整指南:连接方式、表结构与底层实现

ToolJet 示例数据源(Sample Data Source)完整指南:连接方式、表结构与底层实现 ToolJet 示例数据源Sample Data Source完整指南连接方式、表结构与底层实现【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 内置了一个基于 PostgreSQL 的共享示例数据源Sample Data Source让开发者无需准备任何自有数据库就能立即开始熟悉应用构建器、查询面板与各种组件。本文将以 3.0.0-LTS 版本文档为主线完整讲解示例数据源的三种连接方式、内置表结构并结合本仓库源码sample-ds.service.ts、populate-sample-db.ts 等剖析其共享机制、每日重置逻辑与连接参数帮助你在阅读完本文后直接上手用示例数据构建并验证自己的第一个 ToolJet 应用。什么是 ToolJet 的 Sample Data SourceToolJet 内置了一个 PostgreSQL 示例数据库目的是在连接你自己的真实数据之前先让你熟悉 ToolJet 的功能与组件。该数据库中预置了多张示例表和数据适合进行动手实验。从源码实现看示例数据源本质上是一个type sample的特殊数据源记录在 constants/index.ts 中定义了SAMPLE sample类型sample-ds.service.ts 创建它时使用kind: postgresql、scope: DataSourceScopes.GLOBAL并以Sample data source命名。GLOBAL作用域意味着它是跨所有工作区workspace与所有应用共享的一条连接任何用户对数据的增删改都会实时反映给所有使用者。需要特别注意的是使用ToolJet Cloud时示例数据会在每天午夜自动重置使用自托管self-hosted版本时数据不会被重置。这一行为与代码中的调度器一一对应见下文每日重置机制一节。快速开始从空状态应用起步当你新建一个应用时如果画布处于空状态ToolJet 会通过引导界面提示你下一步连接数据源。如果你暂时没有自己的数据源可以直接点击Connect to sample data source按钮连接内置示例数据源后立刻开始探索与构建。连接 Sample Data Source 的三种方式根据你的需求可以从以下三种途径接入示例数据源。方式一连接到新建的空应用此方式适合应用刚创建、画布尚无任何组件的场景选择或新建一个要连接示例数据源的应用。进入应用后空状态界面会引导你完成初始设置。点击Connect to sample data source按钮。ToolJet 会在查询面板Query Panel中自动创建一个查询用于拉取示例数据源中的所有表名。方式二在既有应用的查询面板中连接此方式适合应用已有内容需要在查询面板中追加数据源的场景打开目标应用的Query Panel查询面板。点击Add按钮添加新查询在数据源列表中选择Sample Data Source。此时会生成一个新的空查询你可以直接编写 SQL 语句来检索示例数据源中的数据。表结构与字段清单请参考下文 Sample Data Source Schema。方式三用示例数据源创建示例应用此方式适合想一键看到数据可视化效果的场景在仪表盘Dashboard左侧边栏进入Data Sources页面。在侧边栏的DATA SOURCES ADDED区域中找到Sample Data Source (postgres)——这是默认数据源不可删除。选中它后可点击Test Connection按钮测试与示例数据库的连接。点击Create sample application生成新应用该应用会自动带上示例数据源。默认情况下生成的应用画布上会放置一个带tabs标签页的表格组件每个标签页直观展示一张示例表的数据。不可删除这一约束同样有源码依据在 service.ts 中删除数据源时会先检查dataSource.type DataSourceTypes.SAMPLE若命中则直接抛出Cannot delete sample data source异常util.service.ts 也会拒绝更新示例数据源的配置以保持共享连接的稳定性。Sample Data Source Schema示例数据源中包含多张数据类型各异的表完整清单如下表名列名行数public.sample_data_organizationsindex,organization_id,name,website,country,description,founded,industry,number_of_employees100public.sample_data_country_gdpcountry,area_sq_km,population,exports,imports,gdp,gdp_per_capita,gdp_real_growth_rate,inflation_rate_consumer_prices,investment_gross_fixed_of_gdp,labor_force,unemployment_rate263public.sample_data_usersfirst_name,last_name,company_name,address,city,county,state,zip,phone1,phone2,email,web499public.sample_data_ordersrow_id,order_id,order_date,ship_date,ship_mode,customer_id,customer_name,segment,country,city,state,postal_code,region,product_id,category,sub_category,product_name,sales,quantity,discount,profit500public.sample_data_product_carscar,mpg,cylinders,displacement,horsepower,weight,acceleration,model,origin406注以上列名以本仓库 3.0.0-LTS 版本文档为准。其中sample_data_country_gdp表的多个列在原文中因排版存在逗号粘连此处已按语义逐一拆分为独立列便于直接作为 SQL 查询参考。这 5 张表的行数总和约 1768 行覆盖了字符串、数值、日期等常见数据类型非常适合练习查询、筛选、排序、聚合以及表格/图表组件的配置。你可以在查询面板中直接写出类似下面的 SQL 进行验证-- 查看用户表中的前 10 条记录 SELECT * FROM public.sample_data_users LIMIT 10; -- 按利润降序查看订单 SELECT customer_name, category, sales, profit FROM public.sample_data_orders ORDER BY profit DESC LIMIT 20;源码级深入示例数据源如何工作共享连接与连接参数环境变量示例数据源的连接参数并非写死而是通过环境变量配置并可在自托管部署时替换为你自己的 PostgreSQL。核心逻辑位于 sample-ds.service.ts连接选项包括配置项取值逻辑说明hostSAMPLE_PG_DB_HOST未设置则回退到PG_HOST主机地址连接信息以加密方式存储encrypted: trueportSAMPLE_PG_DB_PORT未设置则回退到PG_PORT端口database固定为sample_db示例数据库名usernameSAMPLE_PG_DB_USER未设置则回退到PG_USER用户名加密存储passwordSAMPLE_PG_DB_PASS未设置则回退到PG_PASS密码加密存储ssl_enabledPGSSLMODE require时为true否则为false是否启用 SSLssl_certificate固定为noneSSL 证书connection_type固定为manual连接类型createSampleDB(organizationId)会在创建组织时自动为每个工作区创建这条示例连接并写入默认分支default branch对应的DataSourceVersion及每个环境environment对应的DataSourceVersionOptions。自托管用户可以通过上述SAMPLE_PG_DB_*环境变量将示例数据源指向自己的 PostgreSQL 实例数据库名须为sample_db。每日重置机制定时填充脚本ToolJet Cloud 中示例数据每天午夜重置的行为由 sample-db.scheduler.ts 实现它使用Cron(CronExpression.EVERY_DAY_AT_1AM)在每天凌晨 1 点执行runPopulateScript()对应 UTC 午夜附近视部署时区而定。该脚本在 populate-sample-db.ts 中完成以下流程通过buildAndValidateDatabaseConfig()读取并校验环境变量见 database-config-utils.ts其中SAMPLE_DB默认值为sample_db从../src/assets/sample-data-json-files目录读取 JSON 数据文件对每张表先DROP TABLE IF EXISTS清空旧数据再根据首行数据自动推断列类型VARCHAR / NUMERIC / DATE / BOOLEAN默认回退VARCHAR(255)建表最后批量插入数据见 populate-sample-db.ts。正因如此示例数据的表结构与内容以 JSON 资源文件为基准每次重置都会恢复到初始状态。自托管环境若未配置该定时任务数据则不会被重置这一点与官方文档描述一致。示例应用的生成模板点击Create sample application后生成的应用来自服务端模板 sample_app_def.json。该模板包含 5 条预置查询分别对 5 张示例表执行SELECT * FROM ... LIMIT 100见 sample_app_def.json并将数据源标记为type: sample画布上的表格组件通过 tabs 逐表展示数据模板内的提示文案也明确说明这是共享资源数据可能因其他用户的实时更新而变化仅供探索不应用于生产。类似的引导文案还出现在前端组件 SampleDataSourceBody.jsx 中用于 Data Sources 页面展示与创建按钮。使用建议与注意事项适合学习与原型验证示例数据源内置的 5 张表覆盖常见业务数据形态组织、国家 GDP、用户、订单、汽车非常适合用来练习 SQL、测试表格/图表组件、验证查询转换transformations与事件处理。不适用于生产由于是共享连接其他用户对数据的修改会实时影响你看到的结果且数据可能在每日重置时被还原切勿将依赖示例数据的应用用于生产环境。自托管可替换后端如需更稳定的实验环境可通过SAMPLE_PG_DB_HOST/SAMPLE_PG_DB_PORT/SAMPLE_PG_DB_USER/SAMPLE_PG_DB_PASS等环境变量指向自建 PostgreSQL数据库名sample_db从而获得可控、可持久的数据体验。无法删除或修改示例数据源作为默认数据源受服务端保护删除与配置更新都会被拒绝见 service.ts这是有意为之以保证所有工作区始终有可用的入门数据源。连接前先测试在 Data Sources 页面选中Sample Data Source (postgres)后可先点击Test Connection验证连通性对应服务端testSampleDBConnection实现见 service.ts再创建示例应用或编写查询。掌握以上三种连接方式、表结构清单与底层实现细节后你就可以在 ToolJet 中无缝地开始第一次数据驱动的应用构建了。后续接入自有数据源时其操作路径与示例数据源完全一致——你已经通过示例数据源提前熟悉了完整流程。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表