Migration for borrower-facing brand + disclosure columns
Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISC...
添加成员 UI PREFENCES 表格( 第 60 令)
通用成员UI优先商店支持的参考文献 CREATE Hex-head弹出器大小选择器和未来的每个成员UI设置。 Schema 镜像 EmbRecord State 公约(活动,日期 创建, date update),数据模型中其它处使用.
Add CDR caller-ID columns to recordings table (order 40)
Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...
添加成员语言+默认值 货币列
在支持新表格的成员表格中添加两个 NOT NULL 列 成员.语言(VARCHAR DEFAULT 'ENGLISH')和成员.defaultCurrence (VARCHAR(10) DefAULT “美元” 字段。 现有行被回填入 默认值, 这样NOT NULL 约束可以在没有故障时得到满足 窗口.
记录提供者- 查找列 + VM 归档列的迁移运行器
添加记录S.professor instance id(UUID)和提供者 external id(VARCHAR(64)),加上软手机历史分页的批量查询端点所使用的复合idx records professor Lookup索引. 并添加手机 VOICEMAIL.is archived + 日期 archived ...
添加包含 company 和 company 名称列
铅Company ColumnRunner(第40号命令)一并补充: - 铅 市场。包括 公司(BOOLEAN,无效)——跟踪是否 市场在线索上需要公司名称 - lead.company name(VARCHAR(50),可失效) - 存储公司名称 市场包括Company=real时的领先水平
使用 CockroachDB 兼容的 DROP INDEX CASCADE 语法
CockroachDB 拒绝“其他表格” .对UNIQUE限制的限制有: 未执行 : 无法使用 UNIQUE 限制“ uk org oauth 提供者” 使用 DROP INDEX 缩写 切换到“ DROP INDEX IF ExISTS < table>@<index > (a) 预防、控制和处理 库克罗克...
多问电话/短信供应商迁移
运行于 Hibernate ddl-auto: update 创建新表格之后(VOIP PROVIDER INSTANCE, BULK TEXT PROVIDER INSTENCE,电话 EXTENSION,电话 END USER,电话 DEVICE, 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电话: 电...
从 DataLoader 调试组成员PayFees 排序
主型提供商不再通过取消的三州付费 当创建主安全模型时设置——字段从 ChildOrg Security Model及其服务超载.
团队成员为-a成员; 放下假电话 tm.getMember()
团队成员使用JOINED继承——它是成员,没有巢成员 字段。 后填充正在调用不存在的 tm.getmember () 。 同时将 JPQL 状态过滤器切换到 tm.team Membership status (the 而不是不存在 tm. status。 每个项目单项提交( Kamo Initizer Servic...
取消默认作用权 enum 列的 CHECK 限制
休眠自动生成器 CHECK (栏 IN ("VAL1","VAL2",". 在 CREATE 表格上, 用于 @ 假设( enumType. string) 列, 冻结 enum 的 表格创建时间的值列表。 之后的每个角色右键或 角色权利模板设置 类型添加失败 。 @ 假设已经在 Java 层执行有效的值, 因此 D...
添加缺少的对角色右起伏的独有限制
**************** + 同步安全模式RoleRights 使用 `关于冲突(作用、权利、类型) `ON CONFLICT (default role id, right type) Do Nothinging', 需要匹配 DB 表格中独有的限制。 关于“OrgRoleRight”的相配“独有约束”说明...
种子组织.is Kamocrm 和 OWNER UNLIMITED 自我协作计划
- 数据记录器: 放下组织 来自创建Org 的参数, 设置为 Toplevel= true on kamocrm - KamoCRMAGEReq UpdateRunner + 测试:在 IS TOP LEVEL 上匹配 = TYPE - Type RemovalRunner组织:单电表型 - Owner PlanSee...
Set org owner usernameAlias on creation and fix website-contact member alias
主模型适用于所有三种成员类型
profile Maxed Out Master Model 现在的设置适用于会员,适用于团队会员, 并应用 ToOwners 全部真实,所以每个成员类型都可以看到主模型的 分支类型作为/网络上的创建选项。 署长模板 继续授予每个角色权利类型,包括新的 CREATE CHILD ORG right (id 131) ,...
管理员默认角色模板从所有权利 GRANTED 开始
profileMaxed OutMasterModel 现在将管理员模板填入 每个角色权利Type 设置到GRANDTED。 其他三个模板(小组成员: 捍卫民主阵线(DEFAULT)成员仍然以零权利实现(NOT Specified for ),与非管理员角色的预定空白基线相匹配. 为什么GRANTED(不是FORCE...
启用时为 KamoCRM 提供最大输出主安全模型
数据Loader 现在创建并指派一个主机 ChildOrg Security Model 到 org 创建后立即创建 KamoCRM, 每个设置最大 最允许/强制值: - 允许Owners View OtherOrgs / 允许Owners PrivateOrgs / 允许Sub Childorgs = 真实 - 身...
Add FEATURE_REQUESTS to Support category and all plan-feature mappings
Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included
UPSERT SYSTEM email template rows on every run
Previously the seed runner only inserted rows that didn't exist, so canonical HTML changes never propagated to the DB. Now existing SYSTEM rows have their bodyH...
Add dao.repositories to EnableJpaRepositories scan
EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Add verification_token and ownership_verified columns to org_domains
Add ssl_confirmed and ssl_confirmed_at columns to org_domains
Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.
Update kamo-shared-library version from 1.0.0 to 1.1.0
Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.
Add billing config initialization to KamoCRMPricingLoader
Seeds a default BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-day grace) for the KamoCRM organization during pricing loader startup. Supports the new Stripe billing...
Remove redundant translation table SQL — Hibernate ddl-auto handles them
Add translation tables for commit logs, KB articles, and subscription plans
Email as paid add-ons, not included free
- KamoMail Hosting: $5/user/mo add-on on all plans - 3rd Party Email Integration: $2/user/mo add-on on all plans - Email hosting feature reverted to "Add-on" in...
Update KamoCRM pricing to production go-to-market rates
- Starter: $34/mo ($28 annual), Business: $72/mo ($59 annual), Enterprise: from $109/mo ($99 annual) - Business plan expanded from 50 to 100 users - Added eSign...
Extend 18DOFF promotion end date to 2026-12-31
The April 14 end date was causing the offer page to show as expired.
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Use createOrganizationOwner for admin members, rename INTERNAL to TEAM_MEMBER
Update owner creation to use new createOrganizationOwner method which handles admin role assignment and PRIVILEGED access level automatically. Replace all Image...