java - Hybris - 无法增加 MySql DB 中的列大小
问题描述
我正在尝试将列大小从默认的 255 个字符增加到 1024 个字符。请注意,这是一个现有的生产项目类型(AbstractOrderEntry)和属性(productDescription)。系统初始化是不可能的。
到目前为止,我已经尝试了这两种方法。
修改 *-items.xml 文件。
<attribute qualifier="productDescription" type="java.lang.String"> <modifiers unique="false" optional="true" read="true" write="true"/> <persistence type="property"> <columntype database="oracle"> <value>varchar(1024)</value> </columntype> <columntype database="sqlserver"> <value>nvarchar(1024)</value> </columntype> <columntype database="hsqldb"> <value>VARCHAR(1024)</value> </columntype> <columntype> <value>varchar(1024)</value> </columntype> </persistence> </attribute>
- 蚂蚁清理所有和系统更新。没用
其他方法是:从 mySql Workbench 执行 alter 语句。
ALTER TABLE `hybrisDB`.`quoteentries`
CHANGE COLUMN `p_productdescription` `p_productdescription` VARCHAR(1024) NULL DEFAULT NULL ;
我可以看到 SQL 工作台增加了列大小。但是当我试图从 Hybris 中保存值时,它会引发运行时异常。
INFO | jvm 1 | main | 2019/11/26 14:27:20.262 | com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'p_productdescription' at row 1
INFO | jvm 1 | main | 2019/11/26 14:27:20.262 | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4118)
INFO | jvm 1 | main | 2019/11/26 14:27:20.262 | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)```
Restarted Hybris after executing direct SQL statement from DB.
Any other inputs?
解决方案
在您的问题中,您提到了两种方法。我认为您可以通过结合这两种方法来实现您的目标,即
- 修改$exntesion-items.xml --> ant clean all --> ant updatesystem
- 直接在数据库上运行alter语句并启动Hybris
相关: sap wiki 的摘录:
参考:help.sap.com
推荐阅读
- javascript - Oracle Apex:模式对话框关闭时将触发的 DA?
- git - 执行任何 git 命令都会关闭 Ubuntu 中的终端窗口
- python - 熊猫:仅填充数字(int或float)列
- r - 使用 bupaR,我如何将流程和性能图中的计数和时间组合到一张图中?
- r - r 解析中的编织错误(文本=x,srcfile=src)
- python - 在 Python 中一起使用打字模块中的 sys.intern(string) 和 NewType?
- ios - 应用程序退出后重置 Swift Struct 布尔值
- flutter - 点击 DropdownButton 时防止键盘关闭
- excel - 如何将小数四舍五入到最接近的 0.05?
- amazon-web-services - 附加到 EC2 实例的 IAM 策略规则是否重叠(&覆盖)附加到 EC2 内运行的 ECS 任务的策略规则?