问题标签 [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.
c# - 实体框架是否支持模型中的不同数据类型?
我正在考虑使用 EF 访问安装在我们客户系统上的旧版 SQL Server 数据库。
问题是数据库模式不是 100% 一致的:虽然它们都具有相同的(相关)表和字段,但某些数字字段可能具有不同的数据类型。
据我所知,从应用程序的角度来看,这些类型是“兼容的”:例如,包含小数字的字段可能是smallint
客户 A 的数据库中的一个,但int
客户 B 的数据库中的一个,或者包含价格的字段可能是decimal(10,2)
在 A 的数据库上,但float
在 B 的数据库上(是的,这意味着 B 可能会遇到浮点问题——毕竟它是一个遗留数据库)。
由于我们不是唯一访问数据库的人,因此更改(并因此统一)模式不是一种选择。Entity Framework 是否能够处理这个问题(即,double
如果模型定义声称它是 a ,它会优雅地接受 SQL Server 表中的 a decimal(10,2)
)还是会严重崩溃?
c# - 没有 SQL 支持的旧数据库的 ORM 框架
我们将开始针对 1980 年代早期的旧遗留数据库编写 C# 程序。不支持 SQL 或关系,与它的通信是通过 Telnet 命令。
我正在考虑使用某种 ORM 框架,或者自己编写。我的问题是,是否有任何好的框架可以轻松适应这些特殊条件?
我希望能够将程序中的类映射到数据库中的表,并以现代方式使用数据库,而不必考虑复杂的 telnet 命令以及将返回的信息转换成有意义的东西。
legacy - 将所有 Raima db_VISTA 版本 3.20 数据转储为文本
一位朋友有一个不再工作的旧程序,但他想恢复数据。
从文件的标题中,我发现它是一个遗留的 Raima db_VISTA 版本 3.20 数据库。我发现了这个类似的问题How can I export data in a legacy DOS application when no export option is available? ,但没有答案告诉我如何将数据转储为另一种格式。
我尝试联系 Raima,但论坛接缝已死(我的主题甚至没有由版主发布)
你知道可以帮助我导出数据的工具吗?
ruby-on-rails - Devise + Legacy DB:“密码”列
我正在尝试将一个旧的 CakePHP 站点缓慢迁移到 Rails 4。由于需要大量工作,该站点需要逐步迁移,一次只迁移一个,并从 Active Admin 开始。我已经看到很多关于做这样的事情的问题,但是我需要考虑一些棘手的额外事情:
- 我无法修改 CakePHP 代码
- 我无法破坏 CakePHP 网站
- CakePHP 站点将其散列密码存储在名为“password”的数据库列中,而 Devise 不喜欢这样。它期望“密码”是明文密码,并且已经养成了试图覆盖该数据库列的坏习惯。
将整个站点迁移到 Rails 后,我当然可以开始关注有关如何将应用程序迁移到 Devise的无数答案,但现在我需要使用现有应用程序
谢谢
django - 外键不存在。在管理员中显示条目
我必须使用旧数据库并遇到以下问题。我的模型有一个用户模型的外键:
这似乎行得通。问题是对于某些历史条目,用户条目不再存在。有简单的解决方案吗?
该应用程序似乎可以正常工作。唯一的问题在于模型的管理界面:
它仅显示具有有效外键的条目。是否可以同时显示其他条目?
python - Django:遗留数据库中异常表关系的模型
我正在做我的第一个 Django 项目,并且正在与来自 3rd 方程序的遗留数据库搏斗。对于我试图掌握的一个部分,数据库有一个稍微不寻常的表结构。
基本表格布局如下:
例如,PERSON 包含:
SPOUSEREL 将包含以下内容:
这表明约翰史密斯在“50 号婚姻”中与玛吉布朗结婚,而约翰史密斯也在“55 号婚姻”中与莎拉李结婚。数字 50 和 55 是简单地创建从一个人到另一个人的链接以指示婚姻并且没有其他相关性的数字。
我尝试了各种ManyToManyField
and的组合ForeignKey
,例如:
但没有成功。通过查看它尝试执行的查询,查找失败,Django 需要一个 ID 字段但不存在。我考虑过使用“通过”,但在这种情况下,它必须通过自己?
我不知道该去哪里。
vba - 如何以自动方式测试“.mdb”文件的备份是否良好?
我每晚都会复制一个.mdb
数据库(它是另一个分区),并通过打开它来测试它是否有效。
经过“制作副本”我是说:
- 我将所有通过 RDP 连接的用户踢出数据库(不是自动...)
- 重命名两个后端文件...然后继续制作文件的副本。(自动...)
并且通过“看看它是否有效”我是说:
- 将前端文件 (
.mde
) 重新链接到两个文件(这是自动的) .mde
在我的本地计算机上使用前端 ( ) 和工作组安全文件 ( )打开它(它是另一个分区),.mdw
看看它是否有效。(这不是自动化的,我在这里关注的部分......)
另一个分区中只有两个表,所以我运行我知道的前端文件部分,使用该分区来测试备份是否可以工作。
连接到文件的备份并对两个分区中的某个表进行查询是否足以证明备份是好的而不用人眼实际查看它?
我还自动化了压缩实时数据库的过程,但在我验证备份确实有效之前,我觉得自动化这部分并不安全。
另外,在我收到任何类似“你为什么还在使用访问权限?”的帖子之前,让我声明一下,我无法做出这些决定,而且这个数据库在我来到这里之前很久就已经存在了。
(请注意:如果您觉得我在 SO 上错误地发布了此内容,请随时迁移到DBA SE或Serverfault)
ruby-on-rails-4 - Rails 4、sqlserver-adapter:使用 alias_attribute 重命名遗留属性
处理具有非 Rails 常规命名的遗留系统。请注意,所有表和属性都是大写的,这在 sqlserver-adapter 中表示ID
与id
.
我原以为这alias_attribute :new, :OLD
允许您指定一个可以在ActiveRecord/ActiveRelation
查询中使用的名称。从我在下面看到的(在 中测试rails console
)来看,情况并非如此。
最终目标是通过让每个模型都有一个ID
属性等,让遗留系统在 Rails 传统方法中“行动”……
型号定义:
不工作:
Organization.select(:id)
=>invalid column name 'id'
Organization.select(:ID)
=>invalid column name 'ID'
Organization.select("ID")
=>invalid column name 'ID'
是否有效:
Organization.select(:organization_id)
=><finds record>
Organization.select(:ORGANIZATION_ID)
=><finds record>
Organization.select("organization_id")
=><finds record>
Organization.select("ORGANIZATION_ID")
=><finds record>
grails - Grails:旧版 DB - 具有复合 ID 的记录不会更新
我在尝试更新 Grails 2.3.7 项目的记录时遇到问题
我不想修改属于复合 ID 的字段,我只想更新其他字段。
只有一个类,几个属性,但是每次我尝试更新时,当这行运行时,它都会向我抛出“非唯一错误”:
我的课看起来像这样:
和控制器动作:
当我使用 validate() 时,它会抛出一个 Grails 唯一键错误,当我避免验证它是一个 BD 非唯一 PK 错误。就像 Grails 在我 personInstance.validate() 时不知道我是要插入还是更新。
有没有办法以我没有看到的正确方式管理这个?还是我被迫避免验证?难道我做错了什么?
提前致谢。
ms-access - 取消嵌套嵌套的 MS Access sql 查询
我得到了一个小型的 Access 数据库来处理。创建它的人编写了许多自定义查询来生成报告。我的任务是修改报告,最初编写查询的人走了,没有留下任何文档。
我最大的问题是他将查询嵌套了 5 层以上,我很难按原样阅读。他编写的查询通常具有这种格式,但要复杂得多。
CustomQuery{1,2,3} 的编写方式与它们引用多个其他子查询的方式完全相同。我不仅发现这非常难以阅读,而且我担心如果我修改其中一个查询,它可能在另一个我不知道的查询中的其他地方调用它会破坏另一个报告。我想知道是否有一种方法可以分析所有查询以找出哪些查询被其他查询调用和/或是否有一些工具可以自动取消嵌套它们,或者我是否只需要跟踪它们手动。