private static void UpdatePrimaryKeysInformation(TableInfo[] tables, TSqlObject[] keys)
        {
            // Get schema for all primary keys
            foreach (var key in keys)
            {
                string keyName = key.Name.Parts[1];
                string tableName = keyName.Substring(3);
                var columns = key.GetReferenced(PrimaryKeyConstraint.Columns).ToArray();
                var primaryKeyColumns = new ColumnInfo[columns.Length];

                for (int i = 0; i < primaryKeyColumns.Length; i++)
                {
                    primaryKeyColumns[i] = GetSchemaForColumn(columns[i]);
                }

                var targetTable = tables.FirstOrDefault(t => t.ShortName == tableName);
                if (null == targetTable)
                {
                    throw new InvalidOperationException(
                        "Could not find target table for primary key " + key.Name);
                }

                targetTable.PrimaryKey = primaryKeyColumns;
            }
        }