oracle 如何将对象导出到Liquibase中的给定位置

6ljaweal  于 2023-05-22  发布在  Oracle
关注(0)|答案(1)|浏览(101)

我已经安装了Liquibase版本:4.21.1和SQLcl版本:23.1.0.089.0929并在环境变量中设置“Path”,如

C:\Program Files\liquibase 
D:\sqlcl\bin

此外,它还允许我导出对象,如

Microsoft Windows [Version 10.0.19045.2965]
(c) Microsoft Corporation. All rights reserved.

D:\sqlcl\bin>sql username/Password@localhost:1521/xe

    SQLcl: Release 23.1 Production on Thu May 18 12:35:52 2023
    
    Copyright (c) 1982, 2023, Oracle.  All rights reserved.
    
    Last Successful login time: Thu May 18 2023 12:35:53 +09:30
    
    Connected to:
    Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0
    
    SQL>
    SQL> lb generate-apex-object  -applicationid 100 -split

但是,我需要将对象导出到给定的文件夹路径,而不是'D:\sqlcl\bin'文件夹。有人能帮我实现这一点吗?

vom3gejh

vom3gejh1#

SQLcl将changeLog及其changeSet写入当前工作目录。
'pwd'命令将显示您的工作目录,用于阅读和写入文件。

SQL> pwd
c:\sqlcl\23.1\sqlcl\bin\
SQL>

显然,您不希望将源代码/项目工作写入应用程序bin目录,因此您要做的是使用CD命令。

SQL> pwd
c:\sqlcl\23.1\sqlcl\bin\
SQL> cd c:\users\jdsmith\desktop
SQL> lb generate-object -object-name regions -object-type table
--Starting Liquibase at 08:47:17 (version 4.17.0 #0 built at 2022-11-02 21:48+0000)

Changelog created and written out to file regions_table.xml

Operation completed successfully.

SQL> !dir *.xml
 Volume in drive C is System
 Volume Serial Number is F897-6A6F

 Directory of C:\Users\JDSMITH\Desktop

05/19/2023  08:47 AM             3,718 regions_table.xml
               2 File(s)          5,522 bytes
               0 Dir(s)  91,137,302,528 bytes free

SQL>

这适用于执行诸如使用LOAD和SPOOL命令之类的操作。当然,你可以把它放到你的脚本中,这样它就可以一直使用你想要的文件/目录。

相关问题