如何在 Ckan 上初始化 db ini? [英] How can I initialize db ini on Ckan?

查看:33
本文介绍了如何在 Ckan 上初始化 db ini?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在 Ckan 上初始化我的数据库.我尝试在 ubuntu 16.04 和 postgres 9.6 上安装 Ckan 2.8,并按照官方 页面.

一切都很好,但是当我尝试初始化我的数据库时,我不能.

这是错误.

 回溯(最近一次调用最后一次): 中的文件/usr/lib/ckan/default/bin/paster",第 11 行sys.exit(运行())运行中的文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py",第 102 行调用(命令,命令名称,选项,参数 [1:])文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py",第 141 行,在调用中exit_code = runner.run(args)运行中的文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py",第 236 行结果 = self.command()文件/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py",第363行,在命令中模型.repo.init_db()文件/usr/lib/ckan/default/src/ckan/ckan/model/__init__.py",第 188 行,在 init_db 中self.upgrade_db()文件/usr/lib/ckan/default/src/ckan/ckan/model/__init__.py",第266行,在upgrade_db中mig.upgrade(self.metadata.bind, self.migrate_repository, version=version)升级中的文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/api.py",第 186 行return _migrate(url, repository, version, upgrade=True, err=err, **opts)文件",第 2 行,在 _migrate文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/util/__init__.py",第160行,在with_engine返回 f(*a, **kw)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/api.py",第 366 行,在 _migrateschema.runchange(ver, change, changeset.step)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/schema.py",第 93 行,在 runchange 中change.run(self.engine, step)运行中的文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/script/py.py",第 148 行脚本功能(引擎)文件/usr/lib/ckan/default/src/ckan/ckan/migration/versions/016_uuids_everywhere.py",第69行,升级drop_sequencies(迁移引擎)文件/usr/lib/ckan/default/src/ckan/ckan/migration/versions/016_uuids_everywhere.py",第186行,在drop_sequencies中migrate_engine.execute('删除序列%s_id_seq;'%序列)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第2064行,在执行中返回 connection.execute(statement, *multiparams, **params)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第939行,在执行返回 self._execute_text(object, multiparams, params)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第 1097 行,在 _execute_text语句、参数文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第 1189 行,在 _execute_context语境)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第 1402 行,在 _handle_dbapi_exceptionexc_info文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py",第203行,raise_from_cause重新加注(类型(异常),异常,tb=exc_tb,原因=原因)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py",第 1182 行,在 _execute_context语境)文件/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py",第470行,在do_executecursor.execute(语句,参数)sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) noexiste la secuencia «package_extra_revision_id_seq»[SQL: '删除序列 package_extra_revision_id_seq;']

我试着跑:

  • paster db init -c/etc/ckan/default/production.ini
  • sudo ckan db init

我在脚本运行时检查了我的数据库,脚本正确创建了序列package_extra_revision_id_seq".但是当脚本完成时,package_extra_revision_id_seq"序列不再存在.

解决方案

CKAN 2.8 从源代码安装" paste db init 已损坏且未报告,因此无论如何它都无法工作.解决方案是安装 CKAN 2.7,因为依赖项不同且有效.

https://docs.ckan.org/en/2.7/>

安装后,init 数据库的粘贴命令即可使用

I can't initialize my db on Ckan. I try to install Ckan 2.8 on ubuntu 16.04 and postgres 9.6 and I followed the instruction on the oficial page.

All is good but when I try to initialize my db, I can't.

This is the error.

    Traceback (most recent call last):
  File "/usr/lib/ckan/default/bin/paster", line 11, in <module>
    sys.exit(run())
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 102, in run
    invoke(command, command_name, options, args[1:])
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 141, in invoke
    exit_code = runner.run(args)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/paste/script/command.py", line 236, in run
    result = self.command()
  File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 363, in command
    model.repo.init_db()
  File "/usr/lib/ckan/default/src/ckan/ckan/model/__init__.py", line 188, in init_db
    self.upgrade_db()
  File "/usr/lib/ckan/default/src/ckan/ckan/model/__init__.py", line 266, in upgrade_db
    mig.upgrade(self.metadata.bind, self.migrate_repository, version=version)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/api.py", line 186, in upgrade
    return _migrate(url, repository, version, upgrade=True, err=err, **opts)
  File "<decorator-gen-16>", line 2, in _migrate
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", line 160, in with_engine
    return f(*a, **kw)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/api.py", line 366, in _migrate
    schema.runchange(ver, change, changeset.step)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/schema.py", line 93, in runchange
    change.run(self.engine, step)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/migrate/versioning/script/py.py", line 148, in run
    script_func(engine)
  File "/usr/lib/ckan/default/src/ckan/ckan/migration/versions/016_uuids_everywhere.py", line 69, in upgrade
    drop_sequencies(migrate_engine)
  File "/usr/lib/ckan/default/src/ckan/ckan/migration/versions/016_uuids_everywhere.py", line 186, in drop_sequencies
    migrate_engine.execute('drop sequence %s_id_seq;' % sequence)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2064, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 939, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1097, in _execute_text
    statement, parameters
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
    context)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
    exc_info
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/lib/ckan/default/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) no existe la secuencia «package_extra_revision_id_seq»
 [SQL: 'drop sequence package_extra_revision_id_seq;']

I try to run:

  • paster db init -c /etc/ckan/default/production.ini
  • sudo ckan db init

I checked my db while the script was running and script created the sequence "package_extra_revision_id_seq" correctly. But when the script finishes the sequence "package_extra_revision_id_seq" no longer exists.

解决方案

"CKAN 2.8 installing from source" paster db init is broken and not reported, so it won't work in anyway. Solution is to install CKAN 2.7 instead as dependencies are different and working.

https://docs.ckan.org/en/2.7/

Once installed, paster command for init database works

这篇关于如何在 Ckan 上初始化 db ini?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆