数据版本控制设计问题?
正在做一个系统。逻辑大概是这样的:
新建表单以后可以保存,也可以提交给管理员审核。审核不通过会打回给填表的人。
这里面每一步都会有都会产生一个版本,而且不同的操作产生的版本要有所区别。
比如保存操作会产生一个保存的版本,提交会产生一个提交的版本,管理员审核不通过打回给填表人也会产生一个相应类型的版本号。不同角色的人看到的版本列表不一样。
在后期还会拿这些存储的版本做对比产生类似 word 审阅功能的效果,看到版本间的不同。
当前的做法是在表里面加一个版本字段。每产生一个版本增加一条记录。跟踪改变功能则是生成两份静态页面做对比。
但是总觉的这样太死了,而且页面一大就会产生效率的问题。
在这里请教各位大神,有什么对这一类的设计有什么方案?
回复内容:
正在做一个系统。逻辑大概是这样的:
新建表单以后可以保存,也可以提交给管理员审核。审核不通过会打回给填表的人。
这里面每一步都会有都会产生一个版本,而且不同的操作产生的版本要有所区别。
比如保存操作会产生一个保存的版本,提交会产生一个提交的版本,管理员审核不通过打回给填表人也会产生一个相应类型的版本号。不同角色的人看到的版本列表不一样。
在后期还会拿这些存储的版本做对比产生类似 word 审阅功能的效果,看到版本间的不同。
当前的做法是在表里面加一个版本字段。每产生一个版本增加一条记录。跟踪改变功能则是生成两份静态页面做对比。
但是总觉的这样太死了,而且页面一大就会产生效率的问题。
在这里请教各位大神,有什么对这一类的设计有什么方案?
这种需求,和svn或者git有点相似,可以参考

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

在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监

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