Error S1004 when checking-in a layout in Smart Connection
When trying to check-in a layout, the following error can sometimes occur:
Database error (S1004)
This can happen when the smart_placements table in the database of Enterprise Server has reached its maximum value of 8388607.
Note: From Enterprise version 6 onwards the data types have changed and most medium integers have become integers. The default maximum value on MySQL has thereby become 2147483647 instead of 8388607.
To resolve this, change the ID field type for the smart_placements table from MEDIUMINT to INT by using one of the following methods:
Method 1 - through phpMyAdmin
Step 1. Access phpMyAdmin for your Enterprise Server.
Step 2. Navigate to the WoodWing database.
Step 3. Locate the smart_placements table.
Step 4. Access the Structure tab.
Step 5. Click the Change icon for the 'Id' field.
Step 6. Change the Type to 'INT' and save the settings.
Method 2 - through a command line
From a shell, start a mysql client:
Note: In the code below, the username and database name are examples.
# mysql -u woodwing -p
mysql> use woodwing;
mysql> ALTER TABLE 'smart_placements' CHANGE 'id' 'id' INT( 9 ) NOT NULL AUTO_INCREMENT;