Sql 是否可以将oracle数据库包转储到db模式(ruby on rails)?
我尝试测试我的rails应用程序。在生产中,它可以在现有的只读oracle数据库上工作。我的问题是,在原始数据库中有一个oracle包,其中包含一些函数,这些函数在复杂生成的sql语句中引用。我使用sql语句从数据库中获取一些特殊数据 包Sql 是否可以将oracle数据库包转储到db模式(ruby on rails)?,sql,ruby-on-rails,oracle,unit-testing,Sql,Ruby On Rails,Oracle,Unit Testing,我尝试测试我的rails应用程序。在生产中,它可以在现有的只读oracle数据库上工作。我的问题是,在原始数据库中有一个oracle包,其中包含一些函数,这些函数在复杂生成的sql语句中引用。我使用sql语句从数据库中获取一些特殊数据 包pa包含一些函数的定义,如A,并在sql语句中引用,例如 SELECT pa.A(SUM(W1),'F',SUM(W2),'F') AS F1, W3 AS F2 FROM table1; 是否有可能将包包含在schema文件或其他文件中,以便在使用ra
pa
包含一些函数的定义,如A
,并在sql语句中引用,例如
SELECT pa.A(SUM(W1),'F',SUM(W2),'F') AS F1, W3 AS F2
FROM table1;
是否有可能将包包含在schema文件或其他文件中,以便在使用rake:test构建数据库时加载包?简短的回答是否。至少schema.rb文件中没有。但是,您可以在Structure.rb中使用数据库的特定转储实用程序并将其输出放入Structure.rb文件 摘自: 但是有一个折衷办法:db/schema.rb不能表示特定于数据库的项,例如外键约束、触发器或存储过程。在迁移过程中,您可以执行自定义SQL语句,但模式转储程序无法从数据库中重建这些语句。如果您正在使用这样的功能,那么应该将模式格式设置为:sql 不使用活动记录的模式转储程序,而是使用特定于数据库的工具(通过db:structure:dump-Rake任务)将数据库的结构转储到db/structure.sql中。例如,对于PostgreSQL,使用pg_dump实用程序。对于MySQL,该文件将包含各种表的SHOW CREATE TABLE输出 加载这些模式只是执行它们包含的SQL语句的问题。根据定义,这将创建数据库结构的完美副本。但是,使用:sql模式格式将阻止将模式加载到RDBMS中,而不是用于创建模式的RDBMS中