首页 \ 问答 \ 是否有任何外部工具在php / java中为所有数据库对象生成更改日志文件?(Is there any external tool in php/java to generateChangelog files for all database object?)

是否有任何外部工具在php / java中为所有数据库对象生成更改日志文件?(Is there any external tool in php/java to generateChangelog files for all database object?)

我正在尝试将liquibase工具添加到我的开发环境中以管理数据库迁移。 鉴于功能集,它看起来非常灵活和有前途。 我的第一个显而易见的问题是如何将所有现有模式导出到单个文件(表,触发器,函数和存储过程)中。 ?

liquibase是否有任何工具/扩展来执行此类任务。

我试过命令行选项liquibase generateChangelogs ,但不幸的是它生成了单个changelog文件(没有存储对象-fun / pro / trig)

使用bash / java /任何linux标准xml处理命令行工具的任何东西都是值得注意的

这是我想要做的: -拥有mysql函数/存储过程/触发器/表等的xml模板

  • 查询所有表/函数触发器等的现有数据库。遍历每个并解析相应的模板并为每个对象生成changelog文件

  • - 将每个文件存储在当前位置的相应控制器中,例如

    /数据库

     ---/functions
    
     ---/procedures
    
     ---/triggers
    
     ---/views
    
     ---/tables
    

谢谢


I am trying to add the liquibase tool into my development environment to manage database migrations. Given the feature set it looks very flexible and promising. My first obvious question is how I can export all the existing schema into individual files (tables, triggers, functions and stored procedures ). ?

Is there any tool/extension for liquibase to perform such task.

I have tried command line option liquibase generateChangelogs , but unfortunately it generates single changelog file ( without stored objects -fun/pro/trig)

anything using bash/java/any linux standard xml processing command line tool is appreciable

Here is what I want to do : -Have xml templates for mysql function/stored procedure /trigger/table etc

  • query existing database for all tables/function triggers etc.. go through each and parse respective template and generate changelog file for each object

  • -- store each file in respective director under current location e.g

    /database

     ---/functions
    
     ---/procedures
    
     ---/triggers
    
     ---/views
    
     ---/tables
    

thanks


原文:https://stackoverflow.com/questions/14318346
更新时间:2019-12-03 08:12

最满意答案

这是不可能的,但您可以使用该命令生成初始更改日志,然后编写一个分隔对象的脚本。 然后只需创建一个包含其他更新日志的主更改日志。

查看我在Liquibase上的帖子( http://scalabilitycookbook.com/2012/10/05/control-your-database-schema/ )了解详情。


This is not possible, but you can generate the initial changelog with the command and then write a script that separates the objects. Afterwards just create a master changelog that includes the others.

Check my post on Liquibase ( http://scalabilitycookbook.com/2012/10/05/control-your-database-schema/ ) for details.

2013-01-20

相关问答

更多

将重置按钮拖放到原始位置(Drag and drop reset button to original position)

你需要使用detach 。 当您单击reset按钮时,它会删除briefcase-droppable中的图像dragIcons加到dragIcons 。 $('#reset').click(function(e) { e.preventDefault(); var dropped_icon = $('#briefcase-droppable') .children() .detach() .removeClass('dropped

如何在css中为模态弹出创建多个按钮(how to create multiple button for modal popup in css)

您只需要为这三个按钮添加事件侦听器。 所以,你只需要专注于这些部分: var btn = document.getElementById("myBtn"); btn.onclick = function() { modal.style.display = "block"; } 您不能拥有具有相同ID的多个元素。 这是一种犯罪。 由于多人不能持有单一护照。 所以,将它们转换为类: <button class="myBtn">butoon 1</button> <button class="

从VCS存储库加载包不起作用(Loading a package from a VCS repository not working)

通过在非master的分支中分支代码并通过在composer.json (在我的情况下bugfix )中添加dev-后跟分支名称来解决,如下所示: "require": { "laravel/framework": "4.2.*", "codesleeve/asset-pipeline": "dev-master", "jonnyw/php-phantomjs": "dev-bugfix", "thiagoalessio/tesseract_ocr": "dev-

PAA是否适合在门户网站中自动执行wcm库部署和设置?(Is PAA a good candidate for automating wcm library deployment and setup in portal?)

我一直在密切关注PAA文件,我必须说这是一种非常稳定的部署应用程序的方法,需要多个depl步骤和组件。 它确实需要一个启动过程,但在多服务器环境中非常值得。 您可以执行在Ant文件中执行的所有任务以及使用wsadmin脚本界面。 因为所有设置都存储在WAS中,我只更新res env设置和WAS中的设置,并且不会因为这个原因而触摸任何道具文件。 I have been working intensively with PAA files and I must say that it is a ve

虽然日期不在查询范围内,但NSPredicate不会过滤掉由点表示法访问的日期(NSPredicate not filtering out dates accessed by dot notation though the dates don't fall in the query range)

想通过将一个日期嵌入到可转换类型中是不能使用谓词进行查询...猜测似乎显然这在事后不起作用 所以,expirationDate.date,是罪魁祸首。 当我将日期移到其自己的日期属性时,它工作。 所以谓词只是改为:NSPredicate * predicate = [NSPredicate predicateWithFormat:@“expirationDate>%@”,[NSDate date]]; 一切都很顺利 figured it out having a date be embedded

将C#字符串解析为hh:mm:ss(Parse C# string to hh:mm:ss)

您需要使用自定义日期和时间格式字符串解析这些字符串 ,并使用一个输出: DateTime dt = DateTime.ParseExact(date + duration, "ddMMMyymm.ss'min'", CultureInfo.InvariantCulture); string newDate = dt.ToString("dd MMMM yy

Pandas pivot给出了ValueError(Pandas pivot gives ValueError)

你必须使用pivot_table函数: df = pd.pivot_table(df, index='customer_id', columns='category', values='cnt') 并确保类型为数字: df = pd.DataFrame(data, dtype=float) You have to use the pivot_table function: df = pd.pivot_table(df, index='customer_id', columns='catego

你如何在python Requests或urllib2甚至pycurl中实现这个curl命令?(How would you implement this curl command in python Requests or urllib2 or even pycurl?)

来自requests 文档 : 您有很多次要发送非表单编码的数据。 如果传入string而不是dict ,则会直接发布该数据。 即你发布的不是application/json ,但是(我假设) application/x-www-form-urlencoded ,你的请求标题正在说谎:) 尝试使用data=json.dumps(payload) 。 From requests docs: There are many times that you want to send data that i

相关文章

更多

最新问答

更多
  • 读取UITextfields的值时出错(Error in reading values of UITextfields)
  • 将javascript变量分配给java变量(Assigning javascript variable to java variable)
  • ActiveRecord_Associations_CollectionProxy的未定义方法(Undefined method for ActiveRecord_Associations_CollectionProxy)
  • 返回两个字符串作为方法签名(Return two strings as method signature)
  • 在弹簧启动应用程序中自动连接对象(Auto wiring an object in spring boot application)
  • Log4j2 - 当前日期文件追加不起作用(Log4j2 - current date file append not working)
  • 如果已经使用计时器运行,如何解决不受欢迎的webrequest调用?(How to solve undesirable webrequest call if it is already running with timer?)
  • 释放全局变量(Freeing global variable)
  • 如何在标头中添加单独的列以便在jqgrid中进行垂直滚动(How to add separate column in header for vertical scrolling in jqgrid)
  • Javascript / jQuery切换边栏[关闭](Javascript/jQuery Toggling Sidebar [closed])
  • 套接字客户端:没有得到DataInputStream.readUTF()的完整响应(Socket client: don't get the full response with DataInputStream.readUTF())
  • 一个月的数字表示,带或不带前导零(Numeric representation of a month, with or without leading zeros)
  • SAS proc freq用于变量的不同值(SAS proc freq for distinct value of a variable)
  • 将pkg.sub导入为other.sub(importing pkg.sub as other.sub)
  • PaperJs错误并不明显(PaperJs errors are not understable)
  • 访问正文中脚本之外的javascript var(accessing a javascript var outside of script in the body)
  • 使用PowerShell查询单个注册表子项?(Query a single registry subkey using PowerShell?)
  • 可以省去do-while循环中的“do”吗?(Can leaving out the “do” in a do-while loop still work?)
  • Firestore规则:数据为数字时条件检查失败(Firestore rules: condition check fails when data is number)
  • Python:为什么在迭代时会忽略序列的__len __()?(Python: Why is the __len__() of a sequence ignored when iterating?)
  • PlayN中没有发现OpenGL上下文错误(No OpenGL context found error in PlayN)
  • 如何在AWS CodeCommit存储库中创建文件夹?(How to create folder in AWS CodeCommit repository?)
  • awk:将结果发送到使用bash变量命名的文件(awk: send results to file named using bash variable)
  • 卸载视图时防止丢失状态(Prevent loss of state when unmounting view)
  • Android EditText字段在模拟器上运行正常,但不适用于设备(Android EditText field works fine on emulator, but not device)
  • AngularJS在条件有效的ng-repeat中禁用未选中的复选框(AngularJS Disable unchecked checkbox in ng-repeat with condition)
  • codeigniter加载一个没有任何html标题的视图进行打印(codeigniter load a view without any html header for printing)
  • Liferay porlet的动作网址中的例外情况(Exception in the action url of liferay porlet)
  • 条目(XAML表单)对象引用仅与UWP App一起使用(Entry (XAML Form) object reference null only with UWP App)
  • Spring项目中的额外Gradle任务(Extra Gradle tasks in Spring project)