小编Dav*_*ave的帖子

Liquibase - 如何为现有数据库生成更改日志

我正在尝试使用liquibase生成changeLog,从快照数据库的当前状态开始.

环境细节:

  • 操作系统:Windows 7 32 x86,
  • Java JDK 1.7,
  • 来自MySQL的mysql jdbc驱动程序
  • liquibase 2.0.5.

我从命令行运行以下命令:

liquibase --driver=com.mysql.jdbc.Driver --changeLogFile=./structure.xml --url="jdbc:mysql://mysql.mysite.com" --username=<myuser> --password=<mypass> generateChangeLog
Run Code Online (Sandbox Code Playgroud)

它运行正常,并生成输出文件.但输出文件只包含:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd"/>
Run Code Online (Sandbox Code Playgroud)

并且我的数据库上没有创建表(我期待用于跟踪的两个表).

我错过了什么?


EDITS

是的,我指的是liquibasechanlog和liquibasechangelock表.我知道它们应该自动出现在数据库中.我的问题是为什么他们不在那里.是的,提供的用户拥有执行此类任务的权限.

它不是一个空的数据库.它有近20个表,10个视图,数据......

mysql liquibase

14
推荐指数
2
解决办法
2万
查看次数

为什么我看不到使用OOP的真正意义?

可能重复:
类.重点是什么?

我已经阅读了大量的教程,写了许多课程,使用过它们,但我仍然无法弄清楚一些OOP点.

我的意思是,我认为我得到了理论.这是一种范式,一种思考和解决问题的不同方式.我知道所有的共同点:代码重用,封装,更好的错误处理,更容易的维护,继承,合同设计,更好的文档,聚合,组合,一些设计模式......

那就是说,让我们去做真正的交易吧.假设我有以下内容:

  • 数据库,以及用于访问和查询它的类.
  • 我有一个名为person的表和另一个名为address的表
  • 简单的商业规则:一个人可以拥有一个或多个地址(家庭,工作,交付......),简单的一对多关系
  • 我有一个高级别的通用操作(CRUD).每个表都有一个类,它是这个类的扩展.
  • 当然,每个类(人和地址)都有自己的方法:例如,getAddressByLocation或getPersonsByAge.
  • 还有十几个视图和几个表单

所有这一切都很棒,确实很有用但是...我不能停止思考最简单的情况:列出一些人.是的,因为输出表上的每一行都是在一个类实例上创建的.我无法停止思考在未使用的资源上使用了多少内存和CPU.

清单50人意味着创建50个实例,充满了诸如crud,过滤处理上传,验证规则等资源,当我需要的是运行查询并只用简单的循环输出结果时.

这让我很困惑.而且不仅仅是混淆,因为我已经看到了一些应用程序,当业务规则稍微复杂时,运行时会随着数据库的增加而逐渐增加.

我认为,是创建新类或普通脚本来处理输出和报告的情况?如果是,那么这意味着双重努力,使用OOP毫无意义,一旦我需要为同一个数据库实体创建许多不同的类.编码变得更难,维护变得不酷.

我错过了什么吗?或者这是OOP方法的缺点?

我们是否应该直接牺牲一点,更薄,更快的代码以便更快地开发和维护?

编辑

正如所料,我之前提出的一些观点对某些人来说是误导......

首先,我经历了真正非常大的项目(我曾在IBM为Sprint/Nextel USA和Directv North America工作,因此我习惯于看到每天处理一些太字节).

当我说从数据库中检索到50个人时,我并不是指50个人,我只想提出许多记录的想法.我知道50条记录对于今天的服务器来说并不算什么.5000万是.如果合适,想象一下这最后一个数字.

php theory oop

13
推荐指数
3
解决办法
690
查看次数

在MVC设计中构建正确的模型

我在这里贴了一个幽灵,这让我感到沮丧多年.这是一个关于如何构建正确的模型,正确的对象的问题.

让我解释.假设我有一篇文章.文章有标题,评级,正文和评论.

Comment类包含作者,时间戳,文本.

文章可以有0个或更多评论.到现在为止还挺好.这个概念没问题.但...

  • 在展示文章时,我会展示一切.文章属性,包括其评论.
  • 在显示文章列表时,我只显示文章名称和一些正文副本.

这是我感到困惑的地方,因为我不需要加载评论信息,当我有大量文章和大量评论时,这会产生显着的性能差异.

我应该建两个型号吗?一个用于Article,一个用于ArticlesInList?我应该将评论的负载委托给延迟模式(这是可能的),只在必要时检索它们吗?

面对和解决这个问题的正确方法是什么?

谢谢.

php oop model-view-controller design-patterns

6
推荐指数
1
解决办法
485
查看次数

无法从postgre全文搜索中获得正确的结果

我正在用巴西葡萄牙语开发一个简单的文章网站.搜索功能基于全文搜索,但未返回预期结果.

我在postgresql上做了这个.这是简化表:

Artigos
-id
-title -- article title
-intro -- article introduction
-content -- article body
-publishdate -- date of launch
-artigosts -- this will work as our fts index.
Run Code Online (Sandbox Code Playgroud)

创建表后,我跑了:

UPDATE artigos SET artigosts = 
setweight(to_tsvector('pg_catalog.portuguese', coalesce(title,'')), 'A') || 
setweight(to_tsvector('pg_catalog.portuguese', coalesce(intro,'')), 'B') ||
setweight(to_tsvector('pg_catalog.portuguese', coalesce(content,'')), 'C');

CREATE INDEX artigosts_idx ON artigos USING gist (artigosts);

CREATE TRIGGER artigosts_tg 
BEFORE INSERT OR UPDATE ON artigos 
FOR EACH ROW EXECUTE PROCEDURE 
  tsvector_update_trigger('artigosts', 'pg_catalog.portuguese', 'title', 'intro', 'content');
Run Code Online (Sandbox Code Playgroud)

是的,我打算在搜索中使用简单的加权.做了一个索引加速,一个触发器,所以我可以插入和更新,而无需担心重制索引等.

嗯,根据我的理解,一切都很好.但结果不是.一个简单的例子.

假设我有"...... banco de …

postgresql full-text-search internationalization full-text-indexing

5
推荐指数
1
解决办法
887
查看次数

硒试验机

--- TL; DR

此时我建议大家将他们的持续集成服务器/服务绑定到https://ghostinspector.com/

老问题

经过三天的谷歌搜索和测试,我放弃了,我需要帮助.

我的目标是允许我的同事用Selenium IDE记录一个或多个测试.导出它们,将它们上传到服务器,然后使用带有htmlunit的webdriver让这台服务器运行这些测试.在我们构建或修复应用程序时,我们将上传测试以制作测试库.

用Selenium IDE记录测试是可以的.但让它运行就是问题所在.我们打算让测试的机器是linux亚马逊服务器.没有前端的东西,没有kde,gtk,所以没有firefox,chrome等...这就是为什么我已经指定了htmlunit驱动程序.

到目前为止,我无法将此任务运行到我的机器上 - Ubuntu 12.04 x86_64.

我下载了selenium-server tarball,并尝试运行:

java -jar selenium-server.jar -htmlSuite "*webdriver" "our.site.org" "/path/to/testsuite1.html" "/path/to/report1.html"
Run Code Online (Sandbox Code Playgroud)

没有成功.甚至更改"*webdriver"(使用其他弹出浏览器屏幕).

我试过运行服务器和独立服务器并通过浏览器连接.

我试过facebook的PHP绑定.

我已经尝试过PHPUnit和测试Selenium类 - 以及他们各自从Selenium Formatters导出的脚本.

我真的不知道我在哪里滑倒.任何人都可以给我一个安全的方向,教程等跟随?

--- 编辑

好的,我的问题可能会恢复为:

使用HtmlUnit驱动程序,允许我使用selenium-server运行selenese脚本的命令行是什么?

continuous-integration selenium ui-testing htmlunit selenium-webdriver

5
推荐指数
1
解决办法
1167
查看次数

Solr语音搜索,巴西葡萄牙语

我们正在将Solr作为我们网站的新内部搜索引擎.

大多数功能运行良好,其他功能处于调整和校准阶段.

但有一个功能,我没有在网上找到任何好的文档.所以这里:

  • 我如何实施语音搜索并向Solr提出巴西葡萄牙语的建议?

我已经能够创建一个索引,使用官方的词干分词器 http://docs.lucidworks.com/display/solr/Language+Analysis#LanguageAnalysis-BrazilianPortuguese

但是这场比赛使用适合于将所有内容理解为英语的解析器.这就是问题所在.

欢迎使用教程,文档,如何或回复.

solr localization

5
推荐指数
1
解决办法
857
查看次数

以java/swing形式添加动态字段

我是java的新手,并使用netbeans设计UI.

我想做的是......

在形式.有一个jComboBox和一个JTextField,用户可以输入他选择的服务和观察.到现在为止还挺好.JComboBox是从数据库条目填充的.

问题是,用户可以一次输入N个不同的服务(有太多的复选框).我正在考虑添加一个"[+]"按钮(以及"[ - ]"以便删除).因此,用户点击[+],另一个带有jcombobox + jtextfield的新行出现在前面的那一行的正下方.

我被困在这一点上.在[+]按钮上ActionPerformed我无法克隆并添加以前的节点.关于如何继续的任何想法.

我的背景是webdev.使用javascript执行此操作非常快.好吧,我想你已经知道我要做什么了.等待一些光.谢谢.

java swing field runtime dynamic

3
推荐指数
1
解决办法
6747
查看次数

Jquery datepicker在lightbox中不起作用

一些问题解决后,我得到了一些棘手的东西.我正在使用一个名为prettyPhoto的JQuery叠加插件.

Just wanna make an overlay with a form. The form is hidden with CSS, and when a link is clicked, the overlay shows it in a nice fashion.

So far so good, everything working as expected, except only one thing: this form has a date field, in which I use datepicker UI.

It (the datepicker) does no shows up at all. At first, I tryed googling and making some CSS adjustments... nothing works. z-index on CSS, z-index dynamically...

Then …

jquery overlay datepicker lightbox

0
推荐指数
1
解决办法
6871
查看次数