WordPress 2.3 Database Schema Changes

WordPress 2.3 changes the database schema in three places. The biggest change is the taxonomy related changes I discussed earlier. Since taxonomy was going to cause backward compatibility breaks in the schema, we decided we might as well break it thoroughly and create something we liked. Thus the categories, post2cat, and link2cat tables were dropped and replaced by three new tables. Plugins that reference the old tables will break. They will need to be updated to either use API, preferably, or use SQL that references the new tables instead of the old ones.

The other two changes are small and low-impact. A new status of ‘pending’ was added to the post_status field of the posts table. This won’t affect most plugins. Plugins that check post status might be affected. Those plugins can do some defensive programming to insulate themselves against new status additions.

Finally, several unused fields were dropped from the options table. option_can_override, option_type, option_width, option_height, option_description, and option_admin_level are now gone. These fields have been unused for years. The time had come to finally drop them and clean up the options table.