CRMint部署问题-IndexError:元组索引超出范围



CRMint的部署阶段会出现与SQL相关的错误,请仔细遵循快速入门指南。我之前有两个与SQL相关的错误,但我能够修复第一个错误(也许它们是相关的(。第一个是:

(_mysql_exceptions.OperationalError) (1045, "Access denied for user 'crmintapp'@'cloudsqlproxy~34.76.202.116' (using password: YES)")
The second one is a SQL index range error
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/instrumentation.py", line 152, in _all_sqla_attributes
inherits = supercls.__mro__[1]
IndexError: tuple index out of range

我通过直接在GCP控制台和脚本(crmint/cli/stages/atf-sbx-mousset2.py(中更改SQL实例中用户crmintapp的密码,修复了第一个错误。

我仍然有第二个错误,我不知道是什么问题。显然,这是一个超出范围的问题,但我很难理解这个问题。有人知道吗?

---> Start CloudSQL proxy (3/4)  
---> Start CloudSQL proxy (4/4)  
---> Configure Cloud SQL proxy settings  
---> Applying database migrations  
---> Sowing DB seeds  
Sowing DB seeds: Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/tmp/atf-sbx-mousset2/backends/lib/flask/__main__.py", line 15, in <module>

Error log:
---> Configure Cloud SQL proxy settings  
---> Applying database migrations  
---> Sowing DB seeds  
Sowing DB seeds: Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/tmp/atf-sbx-mousset2/backends/lib/flask/__main__.py", line 15, in <module>
main(as_module=True)
File "/tmp/atf-sbx-mousset2/backends/lib/flask/cli.py", line 513, in main
cli.main(args=args, prog_name=name)
File "/tmp/atf-sbx-mousset2/backends/lib/flask/cli.py", line 380, in main
return AppGroup.main(self, *args, **kwargs)
File "/tmp/atf-sbx-mousset2/backends/lib/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/tmp/atf-sbx-mousset2/backends/lib/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/tmp/atf-sbx-mousset2/backends/lib/click/core.py", line 1066, in invoke
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/query.py", line 197, in __init__
self._set_entities(entities)
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/query.py", line 225, in _set_entities
self._set_entity_selectables(self._entities)
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/query.py", line 256, in _set_entity_selectables
ent.setup_entity(*d[entity])
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/query.py", line 4324, in setup_entity
self._with_polymorphic = ext_info.with_polymorphic_mappers
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/util/langhelpers.py", line 884, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/mapper.py", line 2155, in _with_polymorphic_mappers
configure_mappers()
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/mapper.py", line 3299, in configure_mappers
mapper._post_configure_properties()
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/mapper.py", line 1965, in _post_configure_properties
prop.init()
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/interfaces.py", line 197, in init
self.do_init()
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/relationships.py", line 2076, in do_init
self._process_dependent_arguments()
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/relationships.py", line 2105, in _process_dependent_arguments
setattr(self, attr, attr_value())
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/ext/declarative/clsregistry.py", line 326, in __call__
x = eval(self.arg, globals(), self._dict)
File "<string>", line 1, in <module>
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/ext/declarative/clsregistry.py", line 219, in __getattr__
if key not in mp.all_orm_descriptors:
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/util/langhelpers.py", line 884, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/mapper.py", line 2453, in all_orm_descriptors
dict(self.class_manager._all_sqla_attributes())
File "/tmp/atf-sbx-mousset2/backends/lib/sqlalchemy/orm/instrumentation.py", line 152, in _all_sqla_attributes
inherits = supercls.__mro__[1]
IndexError: tuple index out of range

有一个类似于您的问题的开放问题链接。解决方法是使用dev分支进行部署。我试着在我的一端部署,目前它也对我有效。只需确保删除机器上的master分支并使用dev CLI即可。

从开发分支在谷歌云平台上部署CRMint:

# Double check if a Cloud Project is selected.
[ "$GOOGLE_CLOUD_PROJECT" == "" ] && echo -n 'Input a Cloud Project ID: ' && read project_id && gcloud config set project "$project_id"
# Install the command-line.
bash <(curl -Ls https://raw.githubusercontent.com/google/crmint/master/scripts/install.sh) dev
# Create a stage definition for your environment.
crmint stages create
# Re-run the setup in case new elements are needed.
crmint cloud setup
# Deploy the updated App Engine services.
crmint cloud deploy

最新更新