如何在 Ckan 上初始化 db ini? [英] How can I initialize db ini on Ckan?
问题描述
我无法在 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.
Once installed, paster command for init database works
这篇关于如何在 Ckan 上初始化 db ini?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!