目录
回复内容:
首页 后端开发 php教程 数据版本控制设计问题?

数据版本控制设计问题?

Jun 06, 2016 pm 08:39 PM
laravel php 数据库 数据库设计

正在做一个系统。逻辑大概是这样的:

新建表单以后可以保存,也可以提交给管理员审核。审核不通过会打回给填表的人。
这里面每一步都会有都会产生一个版本,而且不同的操作产生的版本要有所区别。
比如保存操作会产生一个保存的版本,提交会产生一个提交的版本,管理员审核不通过打回给填表人也会产生一个相应类型的版本号。不同角色的人看到的版本列表不一样。
在后期还会拿这些存储的版本做对比产生类似 word 审阅功能的效果,看到版本间的不同。

当前的做法是在表里面加一个版本字段。每产生一个版本增加一条记录。跟踪改变功能则是生成两份静态页面做对比。
但是总觉的这样太死了,而且页面一大就会产生效率的问题。

在这里请教各位大神,有什么对这一类的设计有什么方案?

回复内容:

正在做一个系统。逻辑大概是这样的:

新建表单以后可以保存,也可以提交给管理员审核。审核不通过会打回给填表的人。
这里面每一步都会有都会产生一个版本,而且不同的操作产生的版本要有所区别。
比如保存操作会产生一个保存的版本,提交会产生一个提交的版本,管理员审核不通过打回给填表人也会产生一个相应类型的版本号。不同角色的人看到的版本列表不一样。
在后期还会拿这些存储的版本做对比产生类似 word 审阅功能的效果,看到版本间的不同。

当前的做法是在表里面加一个版本字段。每产生一个版本增加一条记录。跟踪改变功能则是生成两份静态页面做对比。
但是总觉的这样太死了,而且页面一大就会产生效率的问题。

在这里请教各位大神,有什么对这一类的设计有什么方案?

这种需求,和svn或者git有点相似,可以参考

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
作曲家:通过AI的帮助开发PHP 作曲家:通过AI的帮助开发PHP Apr 29, 2025 am 12:27 AM

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

session_start()函数的意义是什么? session_start()函数的意义是什么? May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

php框架laravel和yii区别是什么 php框架laravel和yii区别是什么 Apr 30, 2025 pm 02:24 PM

Laravel和Yii的主要区别在于设计理念、功能特性和使用场景。1.Laravel注重开发的简洁和愉悦,提供丰富的功能如EloquentORM和Artisan工具,适合快速开发和初学者。2.Yii强调性能和效率,适用于高负载应用,提供高效的ActiveRecord和缓存系统,但学习曲线较陡。

如何使用MySQL的函数进行数据处理和计算 如何使用MySQL的函数进行数据处理和计算 Apr 29, 2025 pm 04:21 PM

MySQL函数可用于数据处理和计算。1.基本用法包括字符串处理、日期计算和数学运算。2.高级用法涉及结合多个函数实现复杂操作。3.性能优化需避免在WHERE子句中使用函数,并使用GROUPBY和临时表。

Laravel 最佳扩展包推荐:2024 年必备工具 Laravel 最佳扩展包推荐:2024 年必备工具 Apr 30, 2025 pm 02:18 PM

2024年必备的Laravel扩展包包括:1.LaravelDebugbar,用于监控和调试代码;2.LaravelTelescope,提供详细的应用监控;3.LaravelHorizon,管理Redis队列任务。这些扩展包能提升开发效率和应用性能。

作曲家:PHP开发人员的软件包经理 作曲家:PHP开发人员的软件包经理 May 02, 2025 am 12:23 AM

Composer是PHP的依赖管理工具,通过composer.json文件管理项目依赖。1)解析composer.json获取依赖信息;2)解析依赖关系形成依赖树;3)从Packagist下载并安装依赖到vendor目录;4)生成composer.lock文件锁定依赖版本,确保团队一致性和项目可维护性。

Laravel 日志与错误监控:Sentry 和 Bugsnag 集成 Laravel 日志与错误监控:Sentry 和 Bugsnag 集成 Apr 30, 2025 pm 02:39 PM

在Laravel中集成Sentry和Bugsnag可以提高应用的稳定性和性能。1.在composer.json中添加SentrySDK。2.在config/app.php中添加Sentry服务提供者。3.在.env文件中配置SentryDSN。4.在App\Exceptions\Handler.php中添加Sentry错误报告。5.使用Sentry捕获并报告异常,并添加额外上下文信息。6.在App\Exceptions\Handler.php中添加Bugsnag错误报告。7.使用Bugsnag监

Laravel N 1 查询问题:如何用 Eager Loading 解决? Laravel N 1 查询问题:如何用 Eager Loading 解决? Apr 30, 2025 pm 01:57 PM

EagerLoading可以解决Laravel中的N 1查询问题。 1)使用with方法预加载相关模型数据,如User::with('posts')->get()。 2)对于嵌套关系,使用with('posts.comments')。 3)避免过度使用,选择性加载,并按需使用load方法。通过这些方法,可以显着减少查询次数,提升应用性能。

See all articles