# Utilizzo delle migrazioni

**URL:** <https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281>\
**Category:** IT\
**Created:** [May 28, 2007, 12:05pm UTC](https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281 "2007-05-28T12:05:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nathannever](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/b2d939/32.png) [@nathannever](https://www.ruby-forum.com/u/nathannever)\
**Post date:** [May 28, 2007, 12:05pm UTC](https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281/1 "2007-05-28T12:05:58Z")

</div>

Salve a tutti.

Ho un problema che riguarda l’utilizzo delle migrazioni: l’applicazione  
su cui sto lavorando utilizza due tabelle, users e communications, delle  
quali ho creato il corrispondente modello:

ruby script/generate model user

ruby script/generate model communication

i comandi creano anche le corrispondenti migrazioni iniziali

001\_create\_users.rb e 001\_create\_communications.rb

Secondo quanto e’ scritto qui:

[http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations](http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations)

non posso utilizzare nella migrazione colonne di tipo enumerativo, che  
invece mi servirebbero nella tabella user…utilizzo il tipo string e  
poi gestisco i vari valori del profilo a livello di codice?

Altro dubbio: e’ necessario utilizzare le migrazioni per la creazione  
delle tabelle?

Grazie,  
Marco

---

<div class="post-metadata">

**Author:** ![nathannever](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/b2d939/32.png) [@nathannever](https://www.ruby-forum.com/u/nathannever)\
**Post date:** [May 28, 2007, 12:46pm UTC](https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281/2 "2007-05-28T12:46:59Z")

</div>

Ciao!

> 001\_create\_users.rb e 001\_create\_communications.rb  
> in teoria la seconda migrazione dovrebbe essere 002

> non posso utilizzare nella migrazione colonne di tipo enumerativo, che  
> invece mi servirebbero nella tabella user…utilizzo il tipo string e  
> poi gestisco i vari valori del profilo a livello di codice?  
> Migrations hanno solo un certo numero di tipi che puoi usare di  
> default, se ti serve qualcosa di + specifico puoi imporre un comando  
> SQL.  
> Usando enum forse avresti problemi con ActiveRecords e come li  
> interpreta… non li ho mai usati quindi non saprei dirti.

Curiosando ho trovato questo articolo che forse può fare al caso tuo:  
[http://wiki.castleproject.org/index.php/ActiveRecord:Recipes:Use\_an\_enum\_as\_a\_property](http://wiki.castleproject.org/index.php/ActiveRecord:Recipes:Use_an_enum_as_a_property)

> Altro dubbio: e’ necessario utilizzare le migrazioni per la creazione  
> delle tabelle?  
> nessuno ti obbliga ad usare migrations, puoi creare una tabella nel DB  
> che poi verrà “agganciata” dal modello della tua applicazione.  
> Sono però dannatamente comode per gestire i cambianti sul DB.

Buon railing,  
Enrico

---

<div class="post-metadata">

**Author:** ![nathannever](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/b2d939/32.png) [@nathannever](https://www.ruby-forum.com/u/nathannever)\
**Post date:** [May 28, 2007, 1:43pm UTC](https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281/3 "2007-05-28T13:43:18Z")

</div>

Carlo P. wrote:

> Heilï¿½! 🙂
> 
> Per colonne di tipo enumerativo puoi utilizzare una cosa del genere:
> 
> execute ‘ALTER TABLE users ADD … bla bla bla’
> 
> cosï¿½ tieni “tutto” nelle migrations.

Si, grazie, seguendo il consiglio di Enrico avevo gia’ risolto in modo  
simile.

> Come mai siete passati a quest’ottimo framework?  
> Io trovo che renda _molto_ produttivi…

Ti sei risposto da solo… 🙂

Ciao!  
Marco

---

<div class="post-metadata">

**Author:** ![nathannever](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/b2d939/32.png) [@nathannever](https://www.ruby-forum.com/u/nathannever)\
**Post date:** [May 28, 2007, 1:32pm UTC](https://www.ruby-forum.com/t/utilizzo-delle-migrazioni/105281/4 "2007-05-28T13:32:08Z")

</div>

Heilà! 🙂

Per colonne di tipo enumerativo puoi utilizzare una cosa del genere:

execute ‘ALTER TABLE users ADD … bla bla bla’

così tieni “tutto” nelle migrations.

Non sei obbligato ad utilizzare le migrations, ma facendolo tieni tutte  
le modifiche al DB in un’unica sequenza logica.

Come mai siete passati a quest’ottimo framework?  
Io trovo che renda _molto_ produttivi…

Marco O. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:non posso utilizzare nella  
migrazione colonne di tipo enumerativo, che  
invece mi servirebbero nella tabella user…utilizzo il tipo string e  
poi gestisco i vari valori del profilo a livello di codice?

Altro dubbio: e’ necessario utilizzare le migrazioni per la creazione  
delle tabelle?

Grazie,  
Marco

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *

Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

* * *
