问题标签 [legacy-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
583 浏览

ruby-on-rails - Ruby on Rails 为“查找”函数添加双引号

我是 ruby​​ on rails 的新手,我遇到了 find 功能的问题。

我创建了一个新的 Web 应用程序,它使用 oracle 增强适配器 gem 连接到旧版 Oracle 数据库。

当我在 rails 控制台中运行以下命令时,我会从数据库中取回数据

或者

但是,当我尝试使用 find() 函数时,出现错误。IE

或者 License.all

rails 控制台中的错误输出如下:

查看错误输出中的 SQL 命令,我注意到选择语句中添加了双引号。当我尝试在 SQL Developer 中运行 SQL 命令时,出现错误。添加双引号有什么原因吗?有没有办法阻止 ruby​​ on rails 在表名中添加双引号?

更新oracle 数据库是 10g,我正在使用带有 ruby​​ 1.9.2p290 的 rails 3.2。我也尝试了以下方法并得到了同样的错误。 License.all

0 投票
1 回答
958 浏览

sql - 从旧版 Oracle 数据库和 ActiveRecord 查询日期列的问题

我是 Rails 新手,仍在学习它是如何工作的。我正在尝试从旧 Oracle 数据库中的日期列中检索年份列表,以便获取已输入对象的所有年份列表。Oracle 数据库是 10g,我正在使用带有 ruby​​ 1.9.2p290 的 rails 3.2 并使用 oracle 增强适配器 gem。

目前,我正在使用以下代码执行我的查询(.attribute 是为了帮助我确定查询返回的内容):

我得到的结果是一些散列,其中包含在我不确定如何访问的数据库列中找到的所有不同年份。

我还尝试简单地从数据库表中选择日期列中的所有行并输出结果。但是,我收到一个我不太了解如何解决的 Oracle 错误。

给我以下错误:

Oracle 增强适配器配置为在 oracle 初始化程序中按列名模拟日期:

我还将许可证模型中的列设置为日期列:

有没有办法从数据库中日期列的所有行中检索不同的年份?我不太确定如何从该列中获得唯一年份数据集的所需结果。

0 投票
1 回答
16110 浏览

sql - 在 Rails 3 应用程序中使用原始 sql 查询?

我正在将遗留数据库迁移到我的 Rails 应用程序(3.2.3)中。原始数据库带有很多用于报告的长 sql 查询。现在,我想做的是使用 Rails 应用程序中的 sql 查询,然后一一(在时间允许的情况下)将 sql 查询交换为“正确的”Rails 查询。

我有一个临床模型,控制器有以下代码:

但是,当我运行该代码时,我会遇到一些与格式有关的错误。

在将 sql 查询导入控制器之前,我应该对它做些什么吗?虽然查询可能有问题(它是很久以前写的),但当直接在数据库中运行时,它确实可以按预期工作。它返回一个像这样的数组:

任何帮助、建议或一般指示将不胜感激!

我正在阅读http://guides.rubyonrails.org/active_record_querying.html试图将 sql 查询转换为正确的 Rails 查询。

到目前为止,我已经匹配了倒数第二行:

宝贝步骤!

更新

多亏了 Rails 指南站点,我现在已经对过滤进行了排序,但是我被困在 sql 查询的分组和求和部分上。到目前为止,我有以下内容:

我正在努力构建以下两行 sql 查询:

我的视图代码如下所示:

0 投票
3 回答
787 浏览

cqrs - 带有传统系统的 CQRS

我希望将具有清晰域模型的相对较新的基于 Web 的应用程序转换为更多的 CQRS 样式系统。我的新应用程序本质上是对旧的现有系统的增强替代。

我组织中的现有系统共享一组通用数据库,这些数据库由整个公司孤岛中存在的无数应用程序(通过混沌方法开发)进行更新。(就目前而言,我相信公司中没有一个人可以识别出他们所有人。)

因此,我的问题是关于我的应用程序的读取模型。由于各种状态变化、一般用户数据等都是由我无法控制的其他应用程序更新的,那么以我可以处理外部更新但仍然保持相对简单的方式来处理构建读取模型的最佳方法是什么?

到目前为止,我已经考虑了以下内容:

  1. 在数据库中为读取模型创建视图,读取所有表,旧的和新的
  2. 向现有表添加触发器以更新新的读取模型表
  3. 将一些代码添加到数据库(CLR Stored proc/etc [sql server])以更新外部数据存储以用于读取模型
  4. 放弃希望

关于如何处理这个问题的普遍共识是什么?认为我可以在不从头开始完全重写所有内容的情况下为遗留系统带来秩序是愚蠢的吗?

0 投票
2 回答
1183 浏览

mysql - Rails 3 - 列名(旧版数据库)

可能重复:
Rails 中列名的别名

我正在编写一个 ActiveRecord 模型模块来访问 MySQL 遗留数据库。我的问题是数据库的列命名约定如下所示:groupID, metaGroupName, flagName. 有没有一种简单的方法可以使模型与这种命名约定很好地配合?

更新:如果可能的话 ,我想避免这种alias_attribute方法。它不是一个小型数据库,而且要别名的列会很多。ActiveRecord 中是否有一种方法可以解释我可以覆盖的列名?

0 投票
1 回答
404 浏览

django - 旧数据库的自定义身份验证后端

由于我使用的是旧数据库,因此我应该使用另一个模型而不是默认的 Djangocontrib.auth.models.User进行身份验证。

id = models.DecimalField(...)我的模型有一个用于用户名的 id 字段 ( ) 和一个用于password = models.CharField(...)管理员从数据库接口定义的密码 () 的字段。

我编写了自己的身份验证后端:

我想问一些可能微不足道的问题,但是由于我现在创建了用户并且我使用了具有自己的表等的 django 身份验证模块,我是否也应该将它们添加到我使用的遗留数据库中?(现在我正在处理一个实例它和 synchdb 我在其中添加了身份验证表,但是当我使用 db 本身时呢?我应该这样做吗?)这是处理我的应用程序现有身份验证系统的正确方法吗?

0 投票
1 回答
208 浏览

ruby-on-rails-3 - 与 Rails 3 中的遗留数据库的简单关联?

我正在使用旧数据库,并且还在阅读 Rails的关联指南

我有两个模型。一个diary模型和一个animal模型。

日记.rb

动物.rb

动物索引视图

如您所见,它使用以下方法显示动物表中的 DiaryQueue:

我正在尝试显示日记表中的 DiaryName:

这失败并出现异常错误:

@animals_todaysappointments方法如下所示:

如果我添加:

到动物模型然后我得到以下错误:

每条动物记录都有一个介于 0 和 10 之间的 DiaryQueue 值,并且日记表有许多行,示例行是:

有些行具有相同的 DiaryNo,但它们也具有相同的 DiaryName。只有 DiaryDate、SlotHour、TotalSlots、BlockBooked、FreeSlot 和 BookedSlot 在这些行中发生变化。

为了尝试防止错误,我在视图中添加了以下内容:

但我得到一个例外:

我究竟做错了什么?

0 投票
1 回答
66 浏览

fluent-nhibernate - 旧表的流畅 nhiberante 映射

如何为 Legacy 表定义流畅的休眠映射。

我有四张桌子

  1. CTType(id GUID,名称varchar(100),DateOFbirth日期时间)
  2. CTType_Legacy(id GUID,CTType_Legacy_id身份 int)
  3. CTTypeMap( id GUID, createdOn datetime, CtType_id guid)
  4. CTTypeMap_Legacy(id GUID,CT_Type_id int)

信息

  • 前两个表固定了 50 条记录。这些表是在为客户端配置数据库时首次填充的。
  • 前两个表 ID 是映射列(主外键)。
  • 最后两个表 CtType_id 映射到 CTType 表的 Id 列

当用户保存新的 CTTypeMapObject 时,它会从 UI 将记录插入 CTTypeMap 表中。映射定义为:

表 CTTypeMap_Legacy 的CT_Type_id的值应该是CTType_Legacy的CTType_Legacy_id列值。我无法将正确的值插入到表 CTTypeMap_Legacy 的CT_Type_id

有人可以让我知道如何在注释突出显示的行上进行映射吗?

0 投票
1 回答
2879 浏览

namespaces - 在命名空间模型中设置表名

我有一些命名空间模型,我正在尝试为它们覆盖默认的 rails 表名,因为我正在连接到现有的旧数据库。

我的模型是:

/app/models/licenses.rb

/app/models/licenses/employee.rb

/app/models/licenses/inspection.rb

当我运行测试时,会生成错误

PG::Error: 错误:关系“licenses_employees”不存在

从命名空间模型中删除前缀是否缺少一些东西?

更新:我尝试将许可证模块中的表名前缀设置为“testing_”而不是“”,但我仍然收到相同的错误消息。

0 投票
1 回答
1034 浏览

oracle - 将 grails 与遗留数据库一起使用

我遇到了将 Grails 与旧版 Oracle 数据库一起使用的问题。我有带有主键文本列 TARGETTYPECODE 的旧表 TARGETTYPES:

我创建了 grails 域类:

我还创建了控制器类:

应用程序已成功启动。

当我单击链接 tmsconf.TargettypesController 时,控制台出现错误:

请帮忙,我哪里错了