在数据库中存储.sql类型文件的正确方法是什么?

在数据库中存储.sql类型文件的正确方法是什么?,sql,blob,storage,Sql,Blob,Storage,我在一个经常重新加载的系统中工作。当系统重新加载时,许多文件可以被删除或更改回以前的稳定构建版本(这是一个开发环境)。唯一不会重新加载的是数据库 我的任务是在环境中插入和删除.sql脚本,以便在需要时有人可以在给定时间运行它们。通常在文件添加到系统后2周 最初我想创建一个目录来保存文件,并在其中一列中创建一个表来保存这些.sql文件的路径。这将允许某人查询数据库并使用他们可以执行所需脚本的路径。问题是环境不断地重新加载,这可能导致文件丢失 我认为正确的方法是使用BLOB数据类型来存储.sql文件

我在一个经常重新加载的系统中工作。当系统重新加载时,许多文件可以被删除或更改回以前的稳定构建版本(这是一个开发环境)。唯一不会重新加载的是数据库

我的任务是在环境中插入和删除.sql脚本,以便在需要时有人可以在给定时间运行它们。通常在文件添加到系统后2周

最初我想创建一个目录来保存文件,并在其中一列中创建一个表来保存这些.sql文件的路径。这将允许某人查询数据库并使用他们可以执行所需脚本的路径。问题是环境不断地重新加载,这可能导致文件丢失


我认为正确的方法是使用BLOB数据类型来存储.sql文件,这是正确的吗?不会重新加载数据库,因此不会丢失任何文件。我是SQL新手,不确定什么是正确的方法。Varchar也会工作吗?一种数据类型比另一种更有效吗?

我不会将SQL脚本放在SQL数据库中,它感觉不太对。
Sql脚本通常放在git repo中,以便进行版本控制并具有更好的可见性。

BLOB
存储二进制数据(即字节)。也许你想存储字符数据,这是一个
CLOB
。听起来像是源代码管理…完全同意。SCMs(源代码管理)工具专用于解决此类问题。试试Git、Subversion(都是免费的)或公司拥有的任何其他SCM。这些都是一次性脚本。它们不会经过修改,只会保存一周,然后执行,然后丢弃。它们大多包含insert语句,而且这不是使用源代码管理的简单情况,因为任何人都可以向系统添加.SQL脚本,以便在以后执行。在这种情况下,添加新文件的人必须将更改提交到repo。不确定您是否使用AWS,但S3可能是存储这些更改的好选择。您可以在需要时通过编程或手动访问这些文件。您知道将其存储为CLOB或BLOB意味着什么吗?我对AWS和S3了解不多,但我的团队并不使用AWS。