コード例 #1
0
        private static void ConvertTableAutoId2Id(CloneTableDefInfo tableInfo, IList <CloneTableDefInfo> tableList)
        {
            CloneTableFieldDefInfo       m_XID           = tableInfo.AutoIncrementColumn();
            CloneIndexDefInfo            m_XPK           = tableInfo.IndexPK();
            IList <CloneRelationDefInfo> tableToRelation = tableInfo.ForeignRelations(tableList);

            if (m_XID == null)
            {
                tableInfo.CreateTargetFAUTO(COLUMN_NAME_AUTOID, DBConstants.DB_LONG);

                tableInfo.CreateTargetIndexFromXPK(m_XPK);

                m_XPK = tableInfo.CreatePKAutoConstraint("XPK", COLUMN_NAME_AUTOID);
            }
            else
            {
                string oldAuroName = m_XID.TargetName();

                m_XID.ReNameTargetColumn(COLUMN_NAME_AUTOID);

                foreach (var index in tableInfo.IndexesNonPK())
                {
                    index.ReNameTargetColumn(oldAuroName, COLUMN_NAME_AUTOID);
                }

                foreach (var relationTable in tableToRelation)
                {
                    relationTable.ReNameTableColumn(oldAuroName, COLUMN_NAME_AUTOID);
                }

                tableInfo.CreateTargetIndexFromXPK(m_XPK, oldAuroName, COLUMN_NAME_AUTOID);

                m_XPK = tableInfo.CreatePKAutoConstraint("XPK", COLUMN_NAME_AUTOID);
            }
        }