通过Ant执行oracle脚本时连接到不同的模式

时间:2015-04-29 14:09:59

标签: oracle ant

基本上,ant sql任务执行以下操作:

  1. 删除SchemaA中的所有表格
  2. 然后创建SchemaA的表
  3. 删除SchemaB中的所有表格
  4. 然后创建SchemaB的表

    def user_responses_on_topic(interest)
       microposts = Micropost.tagged_with(interest, :on => :tags, :any => true)
       count = 0
         microposts.each do |micropost|
         responses = micropost.responses.size
         count = count + responses
        end
       count
    end
    

  5. 问题是“create_tablesSchemaB.sql”不会为SchemaB创建表,但它只为SchemaA创建。所以基本上SchemaA有所有表格。 是否有一个脚本表示连接到SchemaA或“Connect SchemaA”?

1 个答案:

答案 0 :(得分:0)

这是因为您的调用很可能不会更改第二个架构的上下文

可能的解决方案可能是......

  1. 如果你在运行ant的机器上有厚厚的oracle客户端 脚本和tns-names设置,你可以在sql脚本里面连接 ..更容易。
  2. 创建一个将schema作为ant参数$ {}的常见任务 - i 从你的构建属性猜测 - 这将避免重复主要 连接代码 - 以及调用常见任务传递的两个任务 不同的模式名称..因为有两个任务 - 你可以使用 那里有特定的sql脚本。