繁体   English   中英

以编程方式从生产数据库创建空白数据库

[英]create a blank database from a production database programmatically

为了进行软件测试,我想创建一个生产数据库的无菌克隆(所有数据都被清空)。 这样,我可以每次对一组已知记录运行单元测试。 我正在尝试尝试在单元测试本身中以编程方式进行此操作,因此我可以确保表格完全包含功能测试所需的测试数据。

我发现以下有关在C#中创建Access数据库的信息 注意:我知道Access可能不是最好的解决方案,但是已经足够好了!

我想知道的是,有没有一种方法可以使用TableAdapters(也许)在空白的Access数据库文件中复制生产数据库架构(不包含任何数据)?

做这个:

  • 创建访问文件的副本; 生产->测试
  • 连接到测试数据库
  • 枚举数据库中的所有表
  • 对所有表运行DELETE * FROM [table] 如果您有FK依赖项,请运行几次,直到没有错误-或按注释所示TRUNCATE [table]
  • 压缩数据库

我在Access方面经验不足,但是通常您会为此创建一个CREATE脚本。 大多数数据库工具都具有创建此类脚本的功能。 这样的脚本基本上是一组创建所有对象(例如数据库,视图)的SQL语句。

搜索CREATE脚本和Access将为您提供一些起点

我对Access作为生产数据库有不好的经验。 我不推荐。 要么使用SQLite要么使用Firebird。

其次,是的,您可以使用TableAdapters。 您需要为每个数据库创建两个连接。 但是我认为可能有工具可以做到这一点。

编辑**

数据库有多大? 对于高达4GB的空间,Oracle Express Edition可能会有所帮助。 同样,从Oracle克隆到Oracle也很容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM