当我必须运行数据库迁移脚本时,我倾向于运用很大程度的偏执,并且不像dbcli < migration.sql
那样一次性运行脚本。相反,我更喜欢一次一个地运行命令。到目前为止,我刚刚使用了很复杂的复制/粘贴。
必须有一个可以做这种事情的工具,但我很难找到一个使用Google,Wikpedia或StackOverflow(close但no cigar}的工具)。
这绝对是I could write myself,但已经已存在,不是吗?
这确实需要能够从具有一点交互性的命令行运行(比如显示将要执行的语句,让你按下例如ENTER执行它,然后显示输出,如果有因为服务器通常没有任何GUI可用。
我的特定数据库目标是MySQL,但不需要这样的工具是特定于数据库的。
更新
与此同时,我正在用Java编写一个可以满足我想要的实用程序。
答案 0 :(得分:1)
Oracle SQL Developer一次只运行一行,只要以分号结束。
您可以使用其他驱动程序(http://www.oracle.com/technetwork/products/migration/omwb-getstarted-093461.html)
连接到某些第三方数据库答案 1 :(得分:0)
您可以尝试dbForge。有一个免费的Express Edition,但我无法从feature comparison list告诉它是否允许您单步执行任意SQL脚本。
答案 2 :(得分:0)
Emacs的SQL模式支持逐行,逐区域,逐文件发送。
当然,你必须学习emacs,但它确实可以做你想要的。
答案 3 :(得分:0)
很久以前,我为此写过my own tool,并且一直在使用和完善它。随时使用它并提供功能建议等。
答案 4 :(得分:0)
Flyway Teams Edition(商业许可)还支持在Stream parameter下一一执行语句。这不是您问题的确切答案,但至少可以为您提供有关现有工具的信息。