moer 发表于 2024-1-17 17:02:45

【9.0.103】内置库,管理控制台的备份功能,服务端命令怎么调用?



【应用场景】
内置库,数据操作比较重要/危险的情况下,希望能触发自动备份,有异常还可以方便还原。
比如,账期切换,佣金清算。

希望能提供备份的api,服务端命令可以调用。

Simon.Sun 发表于 2024-1-17 17:36:56

大佬,这个帖子给您移动到需求板块了哈。

Patrick.Zhu 发表于 2024-1-18 10:26:47

如果支持了这个功能,有人可以通过这个接口拉取你的所有应用、用户、数据信息,这非常危险,经过我们讨论,不计划支持这个功能。

对于你提到的危险的数据操作,建议先复制一份,进行测试操作,确认无误后,在正式环境操作;


moer 发表于 2024-1-18 11:14:12

备份是备份到服务器,又不是下载。 sql server 都提供数据库备份的sql语句。 活字格的内置库怎么备份?

Simon.hu 发表于 2024-1-18 16:18:52

很少有系统支持前端直接备份和还原,大概原因有这么几个:
1.数据安全性:
放到前端或者开放前端接口,就意味着有人能在前端调用,这是系统级的,想想就风险很大;
而后台环境通常由专门的维护人员管理和监控,可以提供更高的安全性和访问权限控制,以防止未经授权的访问或数据泄露。
2.系统性能:
备份过程可能涉及到大量的数据操作和资源消耗。如果备份功能放在前端完成,用户可能会在备份过程中遇到系统响应缓慢或停顿的问题,影响系统的正常使用体验。将备份功能放在后台进行,可以避免对前端用户造成不必要的干扰,保持系统的高性能和稳定性
3.自动化和计划性:备份通常需要按照一定的计划进行,例如每日、每周或每月进行全量或增量备份。将备份功能放在后台,可以通过自动化工具和脚本来执行备份任务,设置备份计划,并生成备份日志以供维护人员进行监控和故障排查。这样可以减轻维护人员的工作负担,提高备份的可靠性和一致性。
4.管理和维护:后台环境一般由专门的维护人员管理和维护。将备份功能放在后台,可以更好地与其他维护任务相结合,例如系统监控、日志管理、性能优化等。维护人员可以通过后台管理界面或命令行工具来配置备份参数、监控备份状态、执行数据恢复等操作,以确保系统的可靠性和可管理性。

所以这个功能,我们基本不太可能在前端支持,这很有可能误导小白用户。

另外,你说的对,SQLServer有备份的SQL,但是这个不一样,因为一般数据库备份都是在系统后台搞一个按钮等等点一下,而或者说人家提供这个SQL是为了别人不要随便就能接触到数据库级,这也是安全的考虑。

如果你确实想这么搞的话,(虽然我真的不建议)我有2个思路:
1.sqlite也有数据库备份的SQL 语句,你也可以的直接调用
2.另外,说到底SQLite是一个文件型数据库,实在不行,你直接把文件给他复制了就行

moer 发表于 2024-1-19 19:58:03

非常感谢。。。那么长的回复, 我一定以为是chatgpt回复的。

moer 发表于 2024-1-21 16:38:56

1.sqlite也有数据库备份的SQL 语句,你也可以的直接调用
2.另外,说到底SQLite是一个文件型数据库,实在不行,你直接把文件给他复制了就行



【第一个疑问】
备份语句怎么执行?
3 Ways to Backup an SQLite Database
这个备份命令不是sql语句。下面的语句语法错误。


【第2个疑问】
我怎么获取活字格应用运行所在的目录,怎么获取sqlite数据库所在路径?


Simon.hu 发表于 2024-1-22 22:10:13

问题1:
文心一言告诉我的


问题2:
在这个地址:C:\Users\Public\Documents\ForguncyServer\你的应用名\App_Data
页: [1]
查看完整版本: 【9.0.103】内置库,管理控制台的备份功能,服务端命令怎么调用?