I have a client that has SugarCRM 5.5.4 in production with many customizations. I tried updating (5.5.4 > 6.1.0 > 6.2.5 > 6.2.6) and had problems in Studio (6.2.5), ModuleLoader and even Updater (6.2.6) after that.
Now I've set up a new 6.5.7 installation and updated all the modules to work properly in that.
What is the best way now to migrate the data from an old version of sugar into a new one?
I worked with Talend but it wasn't that effective (too much time lost). Now I just migrate the tables like this:
INSERT INTO 657.notes (
`assigned_user_id`, `id`, `date_entered`, `date_modified`, `modified_user_id`,
`created_by`, `name`, `file_mime_type`, `filename`, `parent_type`, `parent_id`,
`contact_id`, `portal_flag`, `embed_flag`, `description`, `deleted`
)
SELECT
`assigned_user_id`, `id`, `date_entered`, `date_modified`, `modified_user_id`,
`created_by`, `name`, `file_mime_type`, `filename`, `parent_type`, `parent_id`,
`contact_id`, `portal_flag`, `embed_flag`, `description`, `deleted`
FROM `554`.notes
I was wondering how others do and what the best practice would be?
That should work fine; note you'll probably want to do a Quick Rebuild and Repair afterwards to make sure the database is all correct.
Related
I have an issue with an old Delphi 6 app, that i had to edit lately.
The case is that i had to use a TQuery to edit some data, so i created a TQuery, TDataSource and TDBEdit, i Linked the DataSource to the query, created all the fields in the query and then linked the DBedit to the DataSource.
the database that is used is DBase IV with BDE.
On change of the field i do the next code :
if not (DM.qryPrecios1.State in [dsEdit, dsInsert]) then begin
DM.qryPrecios1.Edit;
end;
and in a button afterwords i do
if DM.qryPrecios1.State in [dsEdit, dsInsert] then
DM.qryPrecios1.Post;
The curiosity of the case is that in my windows XP this works correctly without any issue, it updates the correct field etc..
but when i went to update the client machine that is windows XP as well, i get the next error when i try to change the TDBEdit = 'qryPrecios1 cannot modify a read only dataset'
Im confused as if its a case of the app or of some dll missing in the client machine?
Thank you for the help in regards.
Well it seems that it was a Delphi 6 IDE Bug.... after i created a new TQuery copying the old one, the TQuery that didnt work started to work without changing anything.
When I go to check something into MorphX VCS right now, I get the following message:
Cannot create a record in SysVersionControlMorphXRevisionTable (SysVersionControlMorphXRevisionTable).
The record already exists.
With things that have already been checked out once, I've been able to resolve this with a get latest and then a new checkout/check in. However, when it comes to doing an Add, I'm completely stuck. Is there a resolution to this or have we completely borked our VCS?
Note: this error is only given when we try to check in from a development project. Checking in directly on the AOT does not give this issue.
Just look at the table SysVersionControlMorphXRevisionTable (in SQL if you can't access) and see what the duplicate record could be. The unique index is ItemPath and Version. I doubt you'll see anything here though.
It's most likely an issue with the call in this method \Data Dictionary\Tables\SysVersionControlMorphXRevisionTable\Methods\latestVersionNumber where it's trying to get the current highest revision and is being called by \Data Dictionary\Tables\SysVersionControlMorphXRevisionTable\Methods\create.
Put a breakpoint in the create method line #48 and see what revision.Version is, and before the insert, check in SQL if the ItemPath/Version already exists in SQL.
I'd guess it's probably a server/client-caching issue. To resolve, refresh all of your client caches under Tools>Caches. If this doesn't resolve, and it's a good idea to do anyway, copy these menu items:
\Menu Items\Action\SysFlushAOD
\Menu Items\Action\SysFlushData
\Menu Items\Action\SysFlushDictionary
\Menu Items\Action\SysFlushReportServer
To a new menu item and change the property RunOn = Server. Then run these and it'll flush your server caches. If this still doesn't work, try restarting the AOS.
If this doesn't work, your users application user cache files might be corrupt. Close your client and delete the *.auc and *.kti files in %LocalAppData% folder (Typically C:\Users\[user]\AppData\Local) and reopen your client.
In the environment you are using, have you restored a copy of another database somewhat recently?
Edit: Now knowing that you did a DB restore, there is a good chance your GLOBALGUID was reused and/or is causing caching issues. See here for more info about how/why this happens.
You should probably stop your AOS and run these SQL commands:
UPDATE SYSSQMSETTINGS SET GLOBALGUID = '00000000-0000-0000-0000-000000000000'
DELETE FROM SYSCLIENTSESSIONS
DELETE FROM SYSSERVERSESSIONS
Are/were you also having issues with batches running? (Somewhat related, but I'm mainly just curious on this question)
In file: ext/quick/ext_tables_static+adt.sql
...
INSERT INTO `tx_quick_string` (`name`, `vlaue`) VALUES
('catalog', 'this is group one');
...
I want to change the value to 'this is group 1'. This is what I did:
a.changed it in this file:ext/quick/ext_tables_static+adt.sql
b.changed it in typo3/phpmyadmin->table tx_quick_string
It seems work. But I have some questions:
1.Does this file ext_tables_static+adt.sql only take effect when install/uninstall extension?
2.Is there anything else I need to do after I changed the value in ext_tables_static+adt.sql and typo3/phpmyadmin->table tx_quick_string? Do I need to update the extension in EM?
Yes, only when you install the extension.
No, if you already did the db update manually, there is nothing more to do.
If the extension you mentioned is not maintained by you, the files may get reverted during the next update of this extension, keep that in mind!
Apart from the things you asked I strongly advise you to NOT use the phpmyadmin extension of TYPO3. It has security problems on a kind of regular basis. So the better and more secure solution is to either use the db management tool your hosting company provides (they will keep it running and updated) or to put a separate tool somewhere else and secure it with a password (like htaccess restriction or something).
I've tried the SugarCRM forums for this problem as well, but I was wondering if anyone here has run into a similar issue and would be willing to share the solution.
We are working with the SOAP API for Sugar CRM via the Sugar On Demand system and their appears to be a problem - which at the moment looks very much like a bug.
The Module we trying to work with is the case module. We are running the set_entry action on the case module. It worked the first time we did this, but now it refuses to allow us to enter any more modules. I've checked the log files and made sure that we are submitting anything in the case_number field to over ride this, but whenever we try to add a new case we get the following error showing up in the log:
Query Failed: INSERT into cases set id='bb53030e-0f2f-5787-f403-4dde57cde36e', name='New RMA Request Test', date_entered='2011-05-26 13:37:15', date_modified='2011-05-26 13:37:15', modified_user_id='b1256ced-011d-7c1a-e1f3-4d4004ea4e9a', created_by='b1256ced-011d-7c1a-e1f3-4d4004ea4e9a', description='fjdlkas', deleted='0', assigned_user_id=null, team_id=null, team_set_id='ded0fbb0-c5dc-74ee-0622-4d22eb653a80', type=null, status=null, priority=null, resolution=null, system_id=1, work_log=null, account_id=null: MySQL error 1062: Duplicate entry '2147483647' for key 2
This is a bit odd for a few reasons:
I've confirmed that the corresponding key is auto-incrementing.
I am not submitting that number anywhere.
The next auto-increment value when I check the setting in the Studio is actually 2147483648.
Can someone explain what I need to do with the SOAP API to stop it from overriding the auto-increment value on my table?
Edit: I get the same error if I try to add a case via the interface, so I suspect this could be a problem with the CRM configuration itself rather than a SOAP related issue like I originally thought.
I would try to increase the size of the case_number field from an int(11) to something bigger and see if that fixes the issue.
Hopefully a simple question.
I've started using NetBeans for a new multi-developer PHP project I am working on. One thing I have noticed in scripts in the past is a section in the PHPDoc at the top with something similar to
/**
* PDO Database Configuration
* Last Updated: %Date: 15/03/2011, 22:31:04 GMT (Tue 15th Mar 2011)%
*
* #author lethalMango
...
*/
Is there a method to get that "Last Updated:" section to update automatically on save?
Cheers
As Melv says, a common way of doing is via the version control system. This is a better approach than relying on the IDE since it only needs setting up once server-side rather than on every client.
If you're using Subversion, you'd do this with properties.
Something like this, assuming yourfile.php has been added to svn:
svn propset svn:keywords "LastChangedDate" yourfile.php
Then add the string $LastChangedDate$ to the file, and every time the file is committed the keyword will be expanded to include the date.
I'm pretty sure Netbeans doesn't give you anything like that. I don't know of a plugin that gives you a hook to it either, but there are definitely ways of doing this sort of thing on versioning commits and/or in build tools, so that might be the best way to tackle it.