Migrazioni senza ssh
by Juna

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






Comments