Devo rinominare la chiave primaria di una tabella esistente tramite fluent-migrator in modo che un automapper possa rilevare automaticamente la colonna.Come possiamo rinominare la chiave primaria di una tabella in fluent-migrator?
Per la maggior parte delle colonne, si tratta di un semplice 1)
eliminare i vincoli di chiave esterna su quella colonna 2)
indici di eliminazione per quella colonna e 3)
rinominare la colonna. Ho storicamente fatto questo:
Delete.ForeignKey("foreignkeyconstraint").OnTable("mytable");
Delete.Index("UserId").OnTable("mytable");
Rename.Column("UserId").OnTable("mytable").To("UserInfo_id");
Tuttavia, questo non sembra funzionare per le chiavi primarie, dal momento che non è possibile eliminare l'indice creato automaticamente su quella colonna. Qual è il modo corretto per rinominare una colonna chiave primaria con fluent-migrator?
Al momento della scrittura, questo non funzionerà nel database di Azure, se la chiave primaria è l'unico indice cluster sulla tabella. Non ho ancora trovato una soluzione alternativa in questa fase e ho lasciato invariato il nome della chiave primaria. Questa potrebbe non essere una soluzione per la domanda, però. – Manfred
Uno dei vantaggi della [labilbe] (http://stackoverflow.com/users/1195872/labilbe) 's [risposta] (http://stackoverflow.com/a/24406280/1488979) è che 'sp_rename' gestirà quello per te. Vedere [MSDN] (https://msdn.microsoft.com/en-us/library/ms188351.aspx). –
@MichaelMinton Non funzionerà per mysql (come da domanda originale) –