Closing connections as side-effect of running assertColumnExists is dirty. For example anybody using transactions will have a nice surprise waiting...