# How to add a migration with a plugin?

**URL:** <https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605>\
**Category:** Rails\
**Created:** [May 25, 2006, 3:36pm UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605 "2006-05-25T15:36:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Berin\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e95f7d/32.png) [@Berin\_L](https://www.ruby-forum.com/u/Berin_L)\
**Post date:** [May 25, 2006, 3:36pm UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605/1 "2006-05-25T15:36:09Z")

</div>

I’m working on a plugin that requires some database support to do its  
job (adding a model or two). I’d like the plugin to automatically add a  
migration once it is installed. Is there already a mechanism for this?  
If so, how do you do it?

–  
_Berin L._  
Owner

_Work:_ 571-215-7708  
_Email:_ removed\_email\_address@domain.invalid [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
_IM:_ removed\_email\_address@domain.invalid (MSN)  
\*[http://www.linkedin.com/in/bloritsch](http://www.linkedin.com/in/bloritsch)  
\*

- 
  - 

```
	*D-Haven* <http://d-haven.org>

```

20044 Great Falls Forest Dr.  
[http://maps.google.com/maps?q=20044+Great+Falls+Forest+Dr.%2CGreat+Falls%2CVA+22066%2CUSA&hl=en](http://maps.google.com/maps?q=20044+Great+Falls+Forest+Dr.%2CGreat+Falls%2CVA+22066%2CUSA&hl=en)  
Great Falls, VA 22066  
USA

See who we know in common [http://www.linkedin.com/e/wwk/5678360/](http://www.linkedin.com/e/wwk/5678360/) Want  
a signature like this? [http://www.linkedin.com/e/sig/5678360/](http://www.linkedin.com/e/sig/5678360/)

---

<div class="post-metadata">

**Author:** ![Berin\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e95f7d/32.png) [@Berin\_L](https://www.ruby-forum.com/u/Berin_L)\
**Post date:** [May 25, 2006, 7:47pm UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605/2 "2006-05-25T19:47:08Z")

</div>

On Thursday, May 25, 2006, at 9:34 AM, Berin L. wrote:

> _Email:_ removed\_email\_address@domain.invalid [mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> See who we know in common [http://www.linkedin.com/e/wwk/5678360/](http://www.linkedin.com/e/wwk/5678360/) Want  
> a signature like this? [http://www.linkedin.com/e/sig/5678360/](http://www.linkedin.com/e/sig/5678360/)
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

Plugins will call files name ‘install.eb’ when installed. I wouldn’t  
force it to run the migration, but you could have it generate a message  
telling the user to run a custom rake task.

\_Kevin

---

<div class="post-metadata">

**Author:** ![Berin\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e95f7d/32.png) [@Berin\_L](https://www.ruby-forum.com/u/Berin_L)\
**Post date:** [May 26, 2006, 5:19am UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605/3 "2006-05-26T05:19:57Z")

</div>

Kevin O. wrote:

> 

My interest is in generating the migration automatically. I leave it to  
the user to execute the ‘rake migrate’ command. So if I call the  
“generate migration” script using install.rb and then populate the  
contents with what I have, everything will be good?

Of course, the question is how do I know the exact filename? Does  
generate migration provide any feedback I can parse for that purpose?

---

<div class="post-metadata">

**Author:** ![Berin\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e95f7d/32.png) [@Berin\_L](https://www.ruby-forum.com/u/Berin_L)\
**Post date:** [May 25, 2006, 9:57pm UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605/4 "2006-05-25T21:57:46Z")

</div>

On May 25, 2006, at 10:42 AM, Kevin O. wrote:

> > _Berin L._  
> > maps?q=20044+Great+Falls+Forest+Dr.%2CGreat+Falls%2CVA+22066%
> 
> \_Kevin

```
You might want to have a look at the acts_as_authenticated plugin.

```

It uses a simple generator to create a migration. So after you  
install the plugin, you can run a script/generate command to have it  
generate the migration file.

Cheers-  
-Ezra

---

<div class="post-metadata">

**Author:** ![Berin\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e95f7d/32.png) [@Berin\_L](https://www.ruby-forum.com/u/Berin_L)\
**Post date:** [May 26, 2006, 3:10pm UTC](https://www.ruby-forum.com/t/how-to-add-a-migration-with-a-plugin/61605/5 "2006-05-26T15:10:40Z")

</div>

On Thursday, May 25, 2006, at 11:17 PM, Berin L. wrote:

> > telling the user to run a custom rake task.
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

Your approach sounds reasonable, your migration should be the highest  
numbered migration, and you should probably know the name part of the  
filename.

\_Kevin
