
If you’ve had any exposure to SalesLogix, you’ll have used a bundle. Bundles are great, but when it comes to delivering data or schema changes in a bundle, there have always been a lot of unknowns as to what is actually happening. What if the schema changes already exist in the target database? What about data, does it only insert or does it do updates if the data already exists? This post will attempt to clarify these questions so you’ll no longer need to wonder about what is really happening when you deliver schema or data in a SalesLogix bundle.
Delivering Data in a Bundle
When delivering data in a SalesLogix bundle, the options are the following:
- Checking the “Data” checkbox in the “Insert Table” screen
- Obviously, this option is only available when adding a new table (see more on this in the Schema Changes in Bundles section below)
- This option inserts new data and also updates existing data (where the primary ID of the tables match) in the target system when the bundle is installed.
- This option carries the original record ID for the data from the source system where the bundle is created to the target system. This is important to realize so you’re aware of any possible (or future) record ID value conflicts.
- Using a SQL Result Set
- This option allows you to specify a query in the system where the bundle is created and the data results of the query is pulled into the bundle.
- When installed, this will insert the data only. No updates are performed of existing data. To be clear, this option does INSERTS only.
- There is an option to have the bundle create new record ID values in the target database rather than use the record ID values from the system where created.
- If installed again, there is a possibility of adding duplicate records. If the option above is used, to create new ID values, then duplicates will be created. If the option to create new ID values is not used, the inserts will fail as the ID values will not be unique (and the records will not be updated either).
Schema Changes in a Bundle
When delivering schema changes in SalesLogix bundles, the following will apply:
- You can safely add a table to a bundle at any time
- If the table exists in the target system
- If the table has new fields that do not exist in the target system they will be added
- Changes to properties of a field such as the Display Name or string Length will modify these properties in the target system
- Change to field data types (such as changing a field from a DATETIME to DATE) will not modify the field in the target system. Field data types will not be changed.
- No data will be lost on the target table for table alterations
- If the table exists in the target system
So, there you have it. Likely one of the most uninteresting blog posts I’ve made đŸ™‚ but useful info none the less.
Hi Ryan, you missed a bit. The option “Remove table on uninstall” sounds very self-explanatory but is the cause of some of the biggest headaches. The user should ensure this is checked Off. Otherwise, 2 years down the line they delete the bundle and, yup, all the data goes with it! (seen it happen several times).