我和我的团队正在快速开发一个由Oracle DB支持的and应用程序。我们使用maven的插件天桥管理我们的数据库创建和填充插入SQL脚本。通常,我们每个sprint添加3-4个表和/或修改现有的表结构。
我们在生成模式的外部工具(包括约束)中对模式进行建模,并首先运行它,然后运行SQL插入,以确保所有数据的完整性。
我们花费了太多的时间来管理对SQL的更改,以涵盖新的表--我的意思是将额外的列数据添加到现有的SQL语句中,更不用说手动创建新的SQL数据,特别是当它们引用外键时。
当然还有另一种方法,也许可以在Excel中维护原始数据,并通过解析器将其传递给DB。有人有什么想法吗?
到目前为止,有10个表,多达1000个SQL语句,DB没有活动,所以我们在每次构建时都会将其删除。
谢谢
编辑:插入的数据是静态引用数据,平台依赖于功能菜单等。架构是Tomcat、JSF、Spring、JPA、Oracle。
发布于 2014-02-26 23:18:36
请将原始数据存储在数据库中的表中-嘿!你到底为什么要用Excel来做这个呢?您拥有Oracle数据库--这是工作的最佳工具!
使用SQL*Loader或外部表将未经处理的数据加载到数据库中的常规表中。在这里,您可以使用SQL --操作数据的最强大的rdbms工具。千万不要慢慢来。(1000条sql语句)。请做CTAS。加载所有数据后添加/启用约束。
create table t as select * from raw_data;
or
insert into t (x,y,z) select x,y,z from raw_data;使用此方法,您可以绕过SQL引擎并执行直接插入(直接路径加载)。这甚至可以并行完成,使您的数据进入数据库的超级快!
在SQL或PLSQL中执行所有数据操作。(不在申请书内)
祝你好运!
发布于 2014-02-27 08:58:07
或者,您还可以选择实现Java迁移。它可以读取任何输入数据(Excel,csv,.)并做适当的插入。
https://stackoverflow.com/questions/22053548
复制相似问题