<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Yes Thanks Martin, We too use vtlib scripts for fields etc. So basically I need to have a  php file somewhere where I manually store the api call and call it on the other envs. <div class=""><br class=""></div><div class="">I can see that this way you are absolutely sure about conflicts, but I worry that manually copying it and storing it could lead to errors (the human component is faulty by default), and it’s not the easy to spot. Maybe a Wrapper that does it for human? <br class=""><div class=""><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Best Regards,<br class=""><b class="">Sukhdev Mohan</b> | <b class="">Software Developer</b><br class=""></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">Il giorno 22 ott 2020, alle ore 17:10, Martin Allen <<a href="mailto:martin.allen@clystnet.com" class="">martin.allen@clystnet.com</a>> ha scritto:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_default" style="font-family:verdana,sans-serif">If you're adding fields or modules then the best way we've found to do so is to use vtlib scripts to create, then when migrating from one environment to another, just have to run the relevant scripts (we manage those scripts internally and run them manually, but could easily write some PHP to automatically run any scripts in a folder and then remove them once run?</div><div class="gmail_default" style="font-family:verdana,sans-serif">Anything that requires direct database manipulation (e.g. changing values on existing fields) should be done as a SQL query which can be run as its own migration script. </div><div class="gmail_default" style="font-family:verdana,sans-serif"><br class=""></div><div class=""><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><p style="font-size:12.8px;color:rgb(80,0,80)" class=""><span style="color:navy;font-family:Verdana,sans-serif;font-size:10pt" class="">Martin Allen</span></p><p style="font-size:12.8px;color:rgb(80,0,80)" class=""><b style="font-size:12.8px" class=""><span lang="EN-US" style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(51,51,153)" class="">01392 248692 - Main Office<br class="">01392 690659 - Direct Line</span></b><br class=""></p><p style="font-size:12.8px;color:rgb(80,0,80)" class=""><b class=""><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(51,51,153)" class=""><img width="288" height="65" src="cid:image001.png@01CFC1D6.1BCFF790" alt="signature2" class=""></span></b><span style="color:rgb(31,73,125)" class=""></span></p><p style="font-size:12.8px;color:rgb(80,0,80)" class=""><span lang="EN-US" style="font-size:10pt;font-family:Verdana,sans-serif;color:navy" class="">Have you visited our website recently? <a href="http://www.clystnet.com/" style="color:rgb(17,85,204)" target="_blank" class="">https://www.clystnet.com</a></span><span style="color:rgb(31,73,125)" class=""></span></p><p style="font-size:12.8px;color:rgb(80,0,80)" class=""><span lang="EN-US" style="font-size:10pt;font-family:Verdana,sans-serif;color:navy" class=""><br class=""></span><span lang="EN-US" style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(153,153,153)" class="">The information in this email is confidential If you are not the intended recipient, you must not read or use that information. This email and any attachments are believed to be virus free however no responsibility is accepted by Clystnet for any loss or damage arising in any way from receipt or use thereof. Clystnet Ltd (company reg number 7164503) is based at Silverdown Park, Fair Oak Close, Clyst Honiton, EX5 2UX</span></p></div></div></div></div></div><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 22 Oct 2020 at 15:37, Sukhdev Mohan <<a href="mailto:s.mohan@myti.it" class="">s.mohan@myti.it</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Hello All,<div class=""><br class=""></div><div class="">We have been using VTiger and we are now trying to use DevOps. With other projects we set 3 three environments</div><div class="">1. Dev - local/vm/docker/vagrant</div><div class="">2. Test - Our Server</div><div class="">3. Prod - Client’s server</div><div class=""><br class=""></div><div class="">The <i class="">ideal </i>developing cycle is we have multiple branches on out private repo for local dev, these branches than merges into the develop which is on Test env, after it’s tested out we release it to the clients server. Sometimes client can access the test env so that we can fix issues before release.</div><div class=""><br class=""></div><div class="">We would like to do the same with Vtiger but we have a <b class="">STRONG</b> limitation: vtiger_crmentity, vtiger_crmentityseq and the variations done to vtiger_field, vtiger_fieldmodulerel, vtiger_ws_entity, vtiger_entityname and so on and so forth. Basically the local db can’t be different because there is no migrations which trace the sql which changes the db structure.</div><div class=""><br class=""></div><div class="">So is there any way to capture the queries you perform, for example table creation, table alter, field creations? This would make life easier for a lot of vtiger devs and also would make it easy to port the platform.</div><div class=""><br class=""></div><div class="">Pleae let me know your thoughts, may be we can team up and come up with something useful to the community?</div><div class=""><br class=""><div class="">
<div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div dir="auto" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none;" class=""><div class="">Best Regards,<br class=""><b class="">Sukhdev Mohan</b> | <b class="">Software Developer</b></div></div><br class=""></div><br class=""></div><br class=""></div><br class=""></div><br class=""><br class="">
</div>

<br class=""></div></div>_______________________________________________<br class="">
<a href="http://www.vtiger.com/" rel="noreferrer" target="_blank" class="">http://www.vtiger.com/</a></blockquote></div>
<span id="cid:83b8c098f065a275_0.1"><image001.png></span>_______________________________________________<br class=""><a href="http://www.vtiger.com/" class="">http://www.vtiger.com/</a></div></blockquote></div><br class=""></div></div></body></html>