Quando non si dispone di una shell ssh, phpmyadmin e una console mysql possono essere d'aiuto
Certo, se avessi potuto effettuare la migrazione con un bel rake db:migrate
sarebbe stato tutto infinitamente più facile…però i servizi degli hosting costano (specialmente per i privati!) e quindi non è sempre possibile acquistare un accesso ssh. :P
Con un po’ di buona volontà a volte mi è facile ricreare le tabelle create dalle migrazioni generate dalle gemme con phpmyadmin (eh lo so…è un orrore infinito aggiornare anche schema_migrations
a mano!), sbirciando magari nei files di migrazione; oggi però sono subentrati indici su colonne multiple il cui nome non figurava nel template e così ho dovuto trovare un’altra soluzione per tirarmi fuori dai pasticci.
Anche se il sito è online, chiaramente tutto lo sviluppo lo faccio in locale e così il db risiede anche sul mio pc, che mi mette a disposizione anche una fantastica console MySQL.
Improvvisamente mi sono ricordata che è possibile chiedere direttamente a MySQL quale sia l’istruzione per creare una determinata tabella:
show create table nometabella
E’ fantastico perché in modalità assolutamente “no-brain” si può anche fare copia-incolla direttamente nel tab SQL di phpmyadmin! :D
Ho come la sensazione che con Rails i nomi degli indici su colonne multiple vengano creati secondo uno standard a partire dai campi coinvolti. Se nel template infatti c’è scritto:
add_index :tablename, [:column1, :column2]
L’ SQL che viene generato è della forma:
[..] KEY ‘index_tablename_on_column1_and_column2’ (‘column1’,‘column2’)
Bibliografia
Category: blog
Tags: rails
Back