[{"data":1,"prerenderedAt":209},["ShallowReactive",2],{"article-compromeez-v300":3},{"id":4,"title":5,"body":6,"date":199,"description":200,"extension":201,"locale":202,"meta":203,"navigation":69,"path":204,"seo":205,"sitemap":206,"stem":207,"__hash__":208},"articles\u002Fblog\u002Fcompromeez-v300.md","Compromeez 3.0 released with adding WhatsApp support and multi-line address",{"type":7,"value":8,"toc":193},"minimark",[9,13,16,21,24,27,30,102,105,109,112,119,122,126,137,160,164,167,174,177,180,189],[10,11,12],"p",{},"I just released Compromeez 2.0 a few days ago and I got some interesting ideas based on the company profile project I'm currently working on.",[10,14,15],{},"It's not much, but since it has breaking changes, I want to talk about it individually.",[17,18,20],"h2",{"id":19},"whatsapp-support","WhatsApp support",[10,22,23],{},"In the company profile I'm working on, the client needs to show that they can be reached from both phone call and sending a message to WhatsApp. Most people here prefer to communicate using WhatsApp so it is a reasonable request.",[10,25,26],{},"Phone number and WhatsApp number have different format and different use case. It is common to see a button when clicked will open WhatsApp to send the message directly.",[10,28,29],{},"To solve this problem, I add WhatsApp number column on manage company page so you, the developers, can get the WhatsApp number from page props.",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const page = usePage()\n\nconst { whatsapp } = page.props.company\n","ts","",[38,39,40,64,71],"code",{"__ignoreMap":36},[41,42,45,49,53,57,61],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"spNyl","const",[41,50,52],{"class":51},"sTEyZ"," page ",[41,54,56],{"class":55},"sMK4o","=",[41,58,60],{"class":59},"s2Zo4"," usePage",[41,62,63],{"class":51},"()\n",[41,65,67],{"class":43,"line":66},2,[41,68,70],{"emptyLinePlaceholder":69},true,"\n",[41,72,74,76,79,82,85,88,91,94,97,99],{"class":43,"line":73},3,[41,75,48],{"class":47},[41,77,78],{"class":55}," {",[41,80,81],{"class":51}," whatsapp ",[41,83,84],{"class":55},"}",[41,86,87],{"class":55}," =",[41,89,90],{"class":51}," page",[41,92,93],{"class":55},".",[41,95,96],{"class":51},"props",[41,98,93],{"class":55},[41,100,101],{"class":51},"company\n",[10,103,104],{},"Of course, you can change it to other messaging service that use mobile phone number to communicate like Telegram.",[17,106,108],{"id":107},"multiline-address","Multiline address",[10,110,111],{},"Previously, I used a single-line address and store it as a string data type on the table column.",[10,113,114,115,118],{},"Some country, like in Indonesia, use multi-line text to show the company address. So, to address this issue, I decided to switch from using text input to text area to input the address and use ",[38,116,117],{},"text"," data type for the table column.",[10,120,121],{},"Now, you can just copy-paste the address and it will showed nicely on the page.",[17,123,125],{"id":124},"breaking-changes","Breaking changes",[10,127,128,129,132,133,136],{},"Since this update changed the structure of the ",[38,130,131],{},"company"," table, you will need to reset your database by using Artisan ",[38,134,135],{},"migrate"," command.",[31,138,142],{"className":139,"code":140,"language":141,"meta":36,"style":36},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan migrate:refresh --seed\n","sh",[38,143,144],{"__ignoreMap":36},[41,145,146,150,154,157],{"class":43,"line":44},[41,147,149],{"class":148},"sBMFI","php",[41,151,153],{"class":152},"sfazB"," artisan",[41,155,156],{"class":152}," migrate:refresh",[41,158,159],{"class":152}," --seed\n",[17,161,163],{"id":162},"about-database-migration","About database migration",[10,165,166],{},"Why I didn't use database migration when adding or changing table columns?\nMaybe some of you have been wondering about it and I just remembered about it.",[10,168,169,170,173],{},"At first, I assume we will always use the latest Compromeez on our new project.\nSo, I thought that creating migration just to add one or two columns or changed the column type is not necessary. I thought that it is better to just changed the table column and run ",[38,171,172],{},"migrate:refresh"," that recreate the tables.",[10,175,176],{},"Now, I'm thinking that if database migration always recreate and apply changes chronologically, then it is not too bad to hide the changes, right?",[10,178,179],{},"I'm going to think about this and I'd greatly appreciate any thoughts, ideas, and other point of views. I'd love to hear from you in the comments!",[10,181,182],{},[183,184,188],"a",{"href":185,"rel":186},"https:\u002F\u002Fwww.linkedin.com\u002Fposts\u002Flzaaldian_assalaamu-alaikum-compromeez-30-released-share-7482803282512334848-A8fb\u002F",[187],"nofollow","LinkedIn",[190,191,192],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":36,"searchDepth":66,"depth":66,"links":194},[195,196,197,198],{"id":19,"depth":66,"text":20},{"id":107,"depth":66,"text":108},{"id":124,"depth":66,"text":125},{"id":162,"depth":66,"text":163},"2026-07-14","Manage phone number and WhatsApp messaging number along with an update to input address.","md",null,{},"\u002Fblog\u002Fcompromeez-v300",{"title":5,"description":200},{"loc":204},"blog\u002Fcompromeez-v300","kD-hGMIkFnNL80VKB6bLDEQ3jX6TjQtbDbje-roeGyw",1784039739615]