首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Keystone模型添加列

向Keystone模型添加列
EN

Stack Overflow用户
提问于 2014-02-09 08:39:50
回答 1查看 589关注 0票数 0

我正在尝试向keystone/identity/backends/sql.py下的User模型添加一个列。我也在使用devstack进行设置。

然而,当我运行stack.sh时,我得到了这个错误:

代码语言:javascript
复制
+ [[ g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,mysql =~ tempest ]]
++ get_id keystone tenant-create --name=alt_demo
+++ awk '/ id / { print $4 }'
+++ keystone tenant-create --name=alt_demo
++ echo ad1bcb522efd46ccbad8f6a47e1161a9
+ ALT_DEMO_TENANT=ad1bcb522efd46ccbad8f6a47e1161a9
++ get_id keystone user-create --name=alt_demo --pass=123456 --email=alt_demo@example.com
+++ keystone user-create --name=alt_demo --pass=123456 --email=alt_demo@example.com
+++ awk '/ id / { print $4 }'
Conflict occurred attempting to store user. (1054, "Unknown column 'tfa_enabled' in 'field list'") (HTTP 409)
++ echo
+ ALT_DEMO_USER=
+ keystone user-role-add --tenant-id ad1bcb522efd46ccbad8f6a47e1161a9 --user-id --role-id dff99958c9ec4b19b656c52f52469589
usage: keystone user-role-add --user <user> --role <role> [--tenant <tenant>]
keystone user-role-add: error: argument --user/--user-id/--user_id: expected one argument
++ failed
++ local r=2
+++ jobs -p
++ kill
++ set +o xtrace

日志的关键部分是:

Conflict occurred attempting to store user. (1054, "Unknown column 'tfa_enabled' in 'field list'") (HTTP 409)

其中tfa_enabled是我试图添加的列。

有人知道这是怎么回事吗?是否有其他代码需要我修改?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-10 19:30:19

据我所知,您正在尝试向表文件列表中添加一个新列。您可以查看数据库中的列吗?如果没有,那么我猜这是因为您还没有将该列添加到表中。

要做到这一点,您需要添加数据库迁移。转到keystone/common/sql/migrate_repo/version并添加修改后的版本和下一个number.After,添加迁移文件运行"keystone-manage db_sync“,您应该能够在数据库中看到新的列。HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21653684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档