2013-09-24 2 views
0

liquibase 생성 할 수 없음 :내 명령 프롬프트에서 명령을 실행하려고 변경 로그

liquibase --driver=com.mysql.jdbc.Driver --classpath=E:\mysqljar\mysql.jar --changeLogFile=E:\1.xml --url="jdbc:mysql://localhost:3306/abc" --username=root --password=root generateChangeLog

그러나 나는이 오류가 무엇입니까 :

이 사람이 나를 도울 수

Liquibase Update Failed: Empty result set, expected one row SEVERE 24/9/13 6:29 PM:liquibase: Empty result set, expected one row liquibase.exception.DatabaseException: Error getting jdbc:mysql://localhost:3306/abc view with [email protected] at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:168) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readViews(JdbcDatabaseSnapshotGenerator.java:304) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:241) at liquibase.snapshot.DatabaseSnapshotGeneratorFactory.createSnapshot(DatabaseSnapshotGeneratorFactory.java:69) at liquibase.diff.Diff.compare(Diff.java:63) at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:145) at liquibase.integration.commandline.Main.doMigration(Main.java:760) at liquibase.integration.commandline.Main.main(Main.java:134) Caused by: liquibase.exception.DatabaseException: Empty result set, expected one row at liquibase.util.JdbcUtils.requiredSingleResult(JdbcUtils.java:124) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:159) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:167) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:163) at liquibase.database.AbstractDatabase.getViewDefinition(AbstractDatabase.java:748) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:166) ... 7 more

이 해석을 ?

+0

은 뷰 정의를 점점 문제가 될 것으로 보인다. liquibase 3.x에서 snapshot/generateChangeLog 프로세스가 크게 개선되었습니다. 3.0.5 이상으로 업그레이드하여 도움이되는지 확인해주세요. –

+0

3.0.5+를 사용했지만 동일한 오류가 발생했습니다 – pkhauzhal

+0

--logLevel = DEBUG를 추가하면 오류가 발생하기 직전에 SQL을 실행해야합니다. 어떤 쿼리를 작성합니까? –

답변

-1

MySQL을 사용하여 동일한 오류가 발생하고 v3.0.0 및 3.0.5의 liquibase를 시도했습니다. generateChangeLog을 마이그레이션하려고하면 오류가 발생했습니다.

. /liquibase --logLevel = debug --changeLogFile =./db.changelog-test-v0.1.xml - 사용자 이름 = abc --password = abc99 --url = "jdbc : mysql : // 로컬 호스트 : 3306/테스트 "참고

마이그레이션, 여기가 문제가 '이전'명령을 실행 한 것을 선택 성명 : 어디 TABLE_NAME = 'patient_info'및 TABLE_SCHEMA information_schema.views에서

선택 view_definition이 = '테스트'

information_schema.views 테이블이 비어 있습니다.

관련 문제