Ошибка Pyquibase: subprocess.CalledProcessError - PullRequest
0 голосов
/ 21 февраля 2019

Я использую python и хочу создать контроллер источника базы данных, например liquibase .Я нахожу версию Python для ликвибазы pyquibase , но получаю subprocess.CalledProcessError

это мой простой код:

from pyquibase.pyquibase import Pyquibase

if __name__ == '__main__':
    pyquibase = Pyquibase.sqlite('test.sqlite', 'db-changelog-1.xml')
    pyquibase.update()

, и я получил эти ошибки:

Traceback (most recent call last):
  File "/home/ali/dev/project/python/DatabaseSourceContoller/DatabaseSourceContoller/main.py", line 5, in <module>
    pyquibase.update()
  File "/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/pyquibase.py", line 69, in update
    output = self.liquibase.execute(self.change_log_file, "update")
  File "/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase_executor.py", line 103, in execute
    shell  = True
  File "/usr/lib/python3.5/subprocess.py", line 316, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.5/subprocess.py", line 398, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'java -jar /home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase/liquibase.jar     --driver=org.sqlite.JDBC     --classpath=/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/db-connectors/sqlite-jdbc-3.18.0.jar     --changeLogFile=db-changelog-1.xml     --url="jdbc:sqlite:test.sqlite" update' returned non-zero exit status 255

1 Ответ

0 голосов
/ 21 февраля 2019

pyquibase разветвляет дочерний процесс для выполнения обновления журнала изменений liquibase.А subprocess.CalledProcessError означает, что обновление журнала изменений liquibase не удалось.

Теперь, чтобы выяснить, почему это не удалось, вы можете вручную запустить команду liquibase, чтобы увидеть актуальные сообщения об ошибках:

java -jar /home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/liquibase/liquibase.jar --driver=org.sqlite.JDBC --classpath=/home/ali/dev/project/python/DatabaseSourceContoller/venv/lib/python3.5/site-packages/pyquibase/db-connectors/sqlite-jdbc-3.18.0.jar --changeLogFile=db-changelog-1.xml --url="jdbc:sqlite:test.sqlite" update

pyquibase пока не распечатывает сообщения об ошибках.Следующее обновление версии должно иметь эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...