告别手搓!Postgres 一站式测试数据生成方案

告别乱码!用OnlyOffice搭建企业级文档转换服务的避坑全记录 本文详细介绍了如何利用OnlyOffice搭建企业级文档转换服务,特别针对中文PDF格式优化提供了深度部署指南。从Docker生产级配置到字体嵌入方案,再到高并发场景下的稳定性保障,全面解决企业文档转换中的乱码和格式错位问题,提升金融、教育等行业的电子文档处理效率。 阅读详情

file

Snaplet 是一个一站式开发者工具,用来生成还原真实生产环境的数据。

在开发过程中,为了提高研发效率,开发者自然希望可以使用和生产环境类似的数据进行测试。这其中就面临不少的挑战:

  1. 数据隐私问题。
  2. 如何从生产数据中进行取样。因为数据是关联的,所以还要获取关联的数据。

保证数据的保鲜度。因为生产环境的数据一直在变化,一周前从生产环境拉的数据可能就已经过时了。

解决这些挑战需要设计灵活合理的工作流,并且因为是针对开发阶段的,所以开发者体验就显得很重要。Snaplet 就是针对这些目标进行设计的一款解决方案。

核心流程

file

Snaplet 核心交互是 CLI,使用前端技术栈实现。Snaplet 同时配有 Cloud,用于托管处理过的数据库快照。大致的流程分为三步:

  • 从生产环境的数据库生产快照。
  • 对快照进行处理,处理有三个子步骤:
    1. Select。只选取需要的数据库/表,比如 log 表这种就可以一开始剔除。
    2. Transform。把生产的数据内容进行变换,比如对字段进行脱敏。
    3. Subset。过滤掉不需要的数据,比如只采样 1%。
  • 通过 CLI 把处理后数据库快照恢复到测试数据库。

因为如何变换生产数据库数据是五花八门的,所以 Snaplet 是通过让用户写 JS/TS 代码的方式来完成的。

file

Snaplet 同时提供了生成 seed 数据的功能。Snaplet 会根据用户的数据库 schema,自动生成操作数据变换的客户端。然后让用户写 JS/TS 来指定需要生成这样的 seed 数据。

file

内部实现

执行命令行看一下 Snaplet 生成的快照:

$SNAPLET_SOURCE_DATABASE_URL='postgresql://postgres:postgres@localhost:5432/postgres' npx snaplet snapshot capture /tmp/snapshot_1

file

从生成的结构看,有 structure.json / summary.json 这样的 manifest 文件。schema 保存在 schemas.sql。而每个表的数据则以单独的 CSV 文件格式保存。

file

看一下 Snaplet 的依赖,不出所料,用的是 Faker,就是去年一气之下被作者删库的主角。

file file

总结

Snaplet 的亮点在于集成。一方面是和基于 Git 的研发流程集成 (GitOps),可以和分支,PR, CI/CD 这些集成。另一方面是和各种云服务的集成,比如 AWS S3,GitHub Action,Neon,Prisma,Supabase 这些。Snaplet 体现了典型硅谷开发者工具公司的风格,专注于一个细分领域。目前社区期待 Snaplet 可以尽快支持 MySQL,当然如果已经是 Postgres 党,那就可以立马上车,品味公司之选。

file

Snaplet 极大提高了在功能开发阶段中,数据库开发的效率。而当开发阶段完成,需要审核上线数据库的变更时,就是 Bytebase 出场的时候了。


💡 更多资讯,请关注 Bytebase 公号:Bytebase

Docker跑PostgreSQL最佳实践:隔离、可复现、不丢数据 PostgreSQL 是最主流的开源关系型数据库,Docker 则是现代开发环境标准化的核心工具。二者结合的本质,是解决本地数据库环境的一致性难题——从概念上讲,容器化为 PostgreSQL 提供了进程级隔离与声明式配置能力;原理上依赖镜像分层、命名卷持久化和环境变量初始化机制;技术价值在于消除‘在我机器上能跑’的协作熵增,实现跨平台、跨角色的环境克隆;典型应用场景包括新手快速上手 SQL、后端服务联调、CI/CD 测试数据库供给,以及 DBA 本地版本验证;本文聚焦 Docker 官方 PostgreS 阅读详情

相关推荐

AI文档生成系统质量保障:单元测试与集成测试实战指南

在软件开发领域,单元测试和集成测试是保障代码质量与系统稳定性的基石。单元测试聚焦于验证最小可测试单元的逻辑正确性,而集成测试则确保多个模块协同工作符合预期。对于AI驱动的应用,如文档生成系统,其输出的非确定性和复杂性使得传统断言方法失效,因此测试策略需要创新。通过Mock技术模拟大模型响应,并结合验证器检查输出的合规性与逻辑性,可以构建可靠的质量保障体系。这种工程实践能有效提升AI应用的鲁棒性,确保在持续迭代中维持输出质量,最终服务于自动化文档生成、智能代码分析等场景,为类似DeepWiki-Open的项目

csdn785029689的博客 514

Postgresql生成大量测试数据

在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢? 此处,我简单的写一个例子,经过测试的: (1)准备知识 针对 Postgres生成数据方法 <1>生成序列====》 SELECT * FROM generate_series(1,5); <2>生成date====》    SELECT date(generate_series(now(), now() + '1 week', '1day')); ...

eagle89的专栏 4511

从临时沙箱到持久工作台:构建可复现、可演进的一站式开发环境

在软件开发与工程实践中,环境配置与依赖管理是影响开发效率和协作一致性的基础挑战。传统临时沙箱(如CodeSandbox、Docker临时容器)虽能快速提供隔离的测试环境,但其无状态、会话结束后即销毁的特性,导致开发上下文、配置与中间数据无法延续,难以支持长期、复杂的项目迭代。容器化技术(如Docker)与声明式配置(如Dev Containers、Nix)的结合,为环境即代码、状态持久化提供了技术实现路径,通过将开发环境定义为可版本化、可迁移的代码,实现了环境的高可复现性。这一技术演进的核心价值在于,它将开

weixin_34192816的博客 486

PostgreSQL 数据写入性能测试

1主2从SR同步流复制测 搭建环境略,可参考之前文章 Server | Role 10.10.56.16 | master 10.10.56.17 | slave1 10.10.56.19 | slave2 16查询状态 pocdb=# SELECT client_addr,application_name,sync_state FROM pg_stat_replicat...

欢迎来到我的技术分享博客!这里将带你深入了解AI技术、Java架构设计、系统开发与优化等前沿技术内容。我专注于从实战经验 1万+

Testcontainers实战:Java集成测试容器化解决方案

集成测试是验证软件模块协同工作的关键环节,其核心原理在于模拟真实运行环境以检验系统整体行为。传统方式依赖Mock或手动搭建环境,常导致环境不一致、维护成本高。容器化技术通过Docker提供了轻量级、可复现的环境封装能力,将基础设施定义为代码。Testcontainers正是这一理念在Java测试领域的工程实践,它作为一个Java库,允许在JUnit等测试框架中以编程方式启动和管理Docker容器(如MySQL、Redis、Kafka),实现测试环境的自动化创建与清理。其技术价值在于彻底解决了“在我机器上能跑

weixin_30340617的博客 353

【yolov8】与yolov5的区别及改进详解

yolov8-----有点厉害的目标检测框架.

qq_44878985的博客 3万+

postgres数据库的测试

一、语法 generate_series(start,stop) --int or bigint generate_series(start,stop,step) --int or bigint generate_series(start,stop, step interval) --timestamp or timestamp with tim

weixin_39077573的博客 659

【Ubuntu2404】Ubuntu24.04安装NVIDIA驱动/CUDA/cuDNN搭建神经网络训练环境

NVIDIA 驱动、CUDA和cuDNN是紧密相关但各自具有独特功能的技术,它们共同为图形处理单元(GPU)加速的应用程序提供了强大的支持。本文主要介绍如何安装 `NVIDIA` 驱动、CUDA及cuDNN,为后续神经网络训练提供支持。本文主要介绍Ubuntu24.04安装NVIDIA驱动、CUDA和cuDNN的流程。

王阿巴和王咕噜 1万+

PostgreSQL生成测试数据

PostgreSQL生成测试数据。

Claer_XX的博客 814

飞腾D2000开发板实战:手把手教你为UEFI/EDK2驱动SD3077 RTC时钟芯片

本文详细介绍了在飞腾D2000开发板上为UEFI/EDK2环境驱动SD3077 RTC时钟芯片的全流程开发指南。从硬件连接到软件适配,包括引脚复用配置、电源管理优化以及UEFI驱动的深度定制,帮助开发者解决嵌入式系统中的时间同步问题,确保RTC芯片的稳定性和准确性。

weixin_30892037的博客 425

基于Coze平台从零构建AI智能体:以测试用例生成为例的实战指南

在人工智能技术快速发展的今天,大语言模型(LLM)和提示词工程(Prompt Engineering)已成为构建智能应用的核心技术。其原理在于通过自然语言指令引导模型完成特定任务,其技术价值在于极大地降低了AI应用开发的门槛,使非专业开发者也能快速实现想法。这一技术广泛应用于自动化办公、智能客服、内容生成等场景。本文聚焦于字节跳动旗下的Coze平台,该平台通过可视化工作流编排和预置技能,将上述技术封装为易用的工具。文章以“根据产品需求文档(PRD)自动生成测试用例”这一具体场景为例,详细拆解了从需求分析、工

weixin_30617695的博客 341

postgresql 生成测试数据

此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的):(1)准备知识针对 Postgres生成数据方法 生成序列SELECT * FROM generate_series(1,5);生成dateSELECT date(generate_series(now(), now() + '1 week', '1 day'));生成integer 随机数SELECT (random()*...

0x12的专栏 2779

IAP板卡远程升级(串口网口都可)+Ymodem+AES对bin文件加密+pc软件+板卡相互烧录

还是决定记录一下,毕竟这个东西我也搞了挺久的,遇到一些棘手的,或者是因为我很粗心遇到的问题也和大家分享一下,。 板卡核心是 STM32F103RCT6,256kflash 前言 开始看这个远程升级的时候,我是一头雾水的,原子哥的教程里面也有说到过iap,有了一个大概的了解,我想不明白的是,通过串口下载的方式把hex文件下载到flash,和把bin文件下载到flash难道不是拉一根线,下载一个文件嘛,(初入职场的我并没有考虑到安全这个问题)如果直接将hex文件给到客户那边,风险是非常大...

那可真是太开心了的博客 5371

如何用 Prisma Factory 为 Bisonapp 快速造测试数据:请求规格测试完整教程

Bisonapp(bisonapp)是 Echobind 出品的 Full Stack Jamstack 一体化启动器,内置了 Next.js、tRPC、Prisma + Postgres 和 Jest 测试工具链。它的最大亮点之一是自带一套 Prisma Factory 工厂模式工具,可以一行代码生成随机测试数据,让你快速写出覆盖各种角色的请求规格测试(Request Spec),告别手工造数据

gitblog_01020的博客 427

QGis二次开发 —— 5、基于qgis开发多种在线地图预览,并加入经纬度坐标显示等(附:源码)

QGis二次开发 —— 5、基于qgis开发多种在线地图预览,并加入经纬度坐标显示等(附:源码

371

ardupilot 日志分析《xKF1信息》

ardupilot 日志分析系列将会把ardupilot所有的日志文档进行分析,为我们分析无人机的运行状态,炸鸡原因,传感器状态,电机状态,控制信息,滤波信息做准备。本节主要分析xKF1日志信息,欢迎批评指正。学习好ardupilot必须会分析飞行日志,从飞行日志中我们可以学到很多无人机的知识。无人机是综合知识的体现,涵盖:导航、控制、滤波、算法、协议等各种知识,只有更全面的学习,才能在无人机的道路上越走越远。

陌城烟雨 1226

lol-skins 仓库皮肤资产解析:Primordian RekSai 炫彩包的 Chroma ID 与包内结构

Primordian RekSai 炫彩包是 [lol-skins](https://link.gitcode.com/i/afcaac145721272c18b34af8f8cdd2a9) 仓库中 Rek'Sai 目录下的一套完整皮肤配色资产,其 [README 清单](https://link.gitcode.com/i/1f8a5258f3eae3aab5835fb7c2446002) 以一

gitblog_00091的博客 869

YOLO26引入ECA-Net的改进版变体:1D卷积在2026目标检测的极致压榨

摘要: 2026年发布的YOLO26通过移除DFL模块、支持无NMS推理等革新成为边缘计算新标杆。为进一步提升性能,研究聚焦轻量级通道注意力机制ECA-Net,其核心创新在于用1D卷积替代传统全连接层,仅需5个参数即可实现高效通道交互。数学分析表明,ECA模块在ResNet50上仅增加80个参数,却能带来2%以上的精度提升。这种"极致压榨"的设计理念与YOLO26的轻量化特性高度契合,为在几乎不增加计算开销的前提下提升模型性能提供了可行方案。技术验证显示,该组合在COCO数据集上实现了检测精度与推理效率的双

ZDQ58818的博客 265

如何在5分钟内使用Seed by Snaplet快速开始数据库种子数据生成

你是否正在为本地开发和测试环境准备数据库种子数据而烦恼?🤔 想要快速生成真实的生产级模拟数据却不知道从何入手?今天我将为你介绍一个终极解决方案——Seed by Snaplet,这个强大的工具能让你在短短5分钟内快速开始数据库种子数据生成!🚀 ## 什么是Seed by Snaplet?🤔 Seed by Snaplet是一个专门为开发者设计的数据库种子数据生成工具。它能根据你的数据库s

gitblog_00879的博客 746

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

告别后端依赖:3分钟上手Electric SQL实时数据同步

传统前后端开发中,数据同步往往需要编写大量API接口、处理复杂的状态管理,还可能面临延迟和一致性问题。而Electric SQL作为Postgres同步引擎,让前端直连数据库成为现实,无需繁琐的后端中转。本文将带你快速掌握其核心功能,从环境搭建到React应用集成,全程仅需3分钟。完成后,你将能够构建实时响应的数据驱动应用,体验如Figma般流畅的协作体验。 ## 什么是Electric SQL...

gitblog_00930的博客 448

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

pytest-postgresql 避坑指南:从环境配置到 CI/CD 集成的实战解决方案

在 Python 后端开发中,单元测试和集成测试是保障代码质量的关键环节,而数据库测试的隔离性与可靠性是其中的核心挑战。其原理在于通过临时数据库实例或连接管理,为每个测试用例提供干净的数据环境,从而确保测试结果的确定性和可重复性。这一技术价值在于能显著提升测试效率与开发信心,广泛应用于涉及数据持久化的 Web 服务、数据管道等场景。实践中,环境依赖冲突、连接配置错误、数据残留及 CI/CD 集成等问题频发,尤其是端口冲突和连接参数错误,常导致测试失败。本文聚焦于 pytest-postgresql 这一常用

weixin_33672109的博客 480

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Seed by Snaplet CLI工具完全指南:从init到sync的完整工作流

想要为本地开发快速生成生产级别的测试数据吗?Seed by Snaplet CLI工具是你的终极解决方案!🚀 这个强大的数据库种子工具能够根据你的数据库架构自动生成逼真的模拟数据,让开发和测试工作变得更加高效。无论你是前端开发者、后端工程师还是全栈开发者,掌握Seed CLI的完整工作流程都将极大提升你的开发效率。 ## 为什么选择Seed by Snaplet? 在当今快节奏的开发环境中,

gitblog_01130的博客 1020

FastAPI项目生成器:一键搭建生产级后端脚手架,告别重复造轮子

在现代Web开发中,后端脚手架是构建可维护、可扩展应用的基础。其核心原理在于通过预设的项目结构、配置和通用组件,将最佳实践固化为标准模板,从而统一团队规范、降低启动成本。这一工程化实践的技术价值在于,它将开发者从重复性的基础设施搭建中解放出来,使其能专注于核心业务逻辑与创新。无论是构建RESTful API、微服务还是数据密集型应用,一个高质量的项目起点都能显著提升开发效率与代码质量。本文聚焦于FastAPI这一高性能Python框架,通过介绍一个集成了SQLAlchemy ORM、JWT认证、依赖注入和统

weixin_33755557的博客 329

3大技术突破:PDF补丁丁如何重构专业PDF处理工作流

在数字化文档处理领域,PDF格式的封闭性和复杂性常常成为技术瓶颈。PDF补丁丁作为开源PDF工具箱,通过三大核心技术突破——批量处理引擎、智能书签系统和权限管理架构,为技术爱好者和中级用户提供了从基础编辑到高级优化的全流程解决方案。本文将深度解析其技术实现原理、性能对比数据,并提供实战演练指南。 ## 技术痛点诊断:专业PDF处理的三大挑战 ### 1. 批量处理效率瓶颈 传统PDF工具在处理

gitblog_00883的博客 457

探索Express与Knex的完美交响:构建高效JSON API服务

探索Express与Knex的完美交响:构建高效JSON API服务 在浩瀚的技术海洋中,寻找一个既能满足数据操作灵活性,又不丧失代码结构优雅的方案,无疑是每个开发者心中的一大追求。今天,我们聚焦于一个独特而实用的开源项目——《Knex/Express Project Sample》。这个项目巧妙地结合了Express框架和Knex查询构建器,为开发基于Postgres数据库的JSON API服务...

gitblog_00122的博客 900

PostgreSQL数据同步终极指南:告别繁琐操作,拥抱高效同步

PostgreSQL数据同步工具pgsync是一个专为数据库同步而设计的强大命令行工具,能够快速、安全地将数据从一个Postgres数据库同步到另一个数据库。如果你正在寻找一种简单高效的PostgreSQL数据同步解决方案,pgsync绝对是你的理想选择!✨ ## 🚀 为什么选择pgsync进行数据同步? pgsync专为现代数据库同步需求而设计,具备四大核心优势: - **极速同步**

gitblog_00741的博客 338
上一篇: 浪费出奇迹的国产数据库们
下一篇: 5 分钟上手 Bytebase,完成第一次 Schema 变更
Bytebase
博客等级 码龄5年 1349粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值