database - YAGNI 和数据库创建脚本

标签 database yagni

现在,我有在我的主数据库访问类中创建数据库的代码(只是在 SQLite 数据库上创建几个查询)。这似乎是不必要的,因为我无意使用该代码。如果出现问题并且我需要重新创建数据库,我只需要它。我应该...

  1. 保持原样,即使数据库创建代码大约是我文件大小的四分之一。
  2. 将数据库创建代码移到单独的脚本中。如果我无论如何都需要再次运行它,我可能会手动运行它,这会使它在处理主要代码时看不到它。
  3. 如果我发现自己再次需要它,请删除数据库创建代码并依靠修订控制。

最佳答案

我认为最好保留代码。更重要的是,您应该在每次数据库架构更改时维护(或生成)此代码。

它很重要,原因如下。

  1. 您可能会惊讶于您多次需要它。如果您需要迁移服务器,或设置其他环境(例如 TEST 或 DEMO)等。
  2. 我还发现我在编码时经常引用 DDL SQL,特别是当我有一段时间没有接触系统时。
  3. 您对所做的决定有引用,例如您创建的索引、唯一键等。

如果您对此没有严格的方法,我发现随着临时更改的进行,数据库模式可能会随着时间的推移而漂移,这可能会导致模糊的问题,直到您访问数据库时才发现这些问题。更糟糕的是,如果没有严格的方法(即架构的引用定义),您可能会发现不同的数据库具有略微不同的架构。

关于database - YAGNI 和数据库创建脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070053/

相关文章:

"FOR UPDATE"和 "JOIN"的 SQL 语义

design-principles - YAGNI 和 KISS 的原则有什么区别?

yagni - 不要过度设计当前问题的解决方案的原因

dependency-injection - 是否有任何关于控制反转或依赖注入(inject)值(value)的硬数据?

YAGNI 和初级开发人员

c# - 封装不是很可笑吗?

php - 我将如何去显示我的数据库中的用户个人资料图片?

c# - mysql表没有得到更新

mysql - 在 plesk 中,我如何授予用户使用 php 创建数据库的权限,但仅限于他的域

database - 克服 Windows Azure Sql 数据库 150 GB 大小限制