diff --git a/lib/tiny-rails/actions.rb b/lib/tiny-rails/actions.rb
index <HASH>..<HASH> 100644
--- a/lib/tiny-rails/actions.rb
+++ b/lib/tiny-rails/actions.rb
@@ -56,6 +56,12 @@ module TinyRails
       end
     end
 
+    def migration(data)
+      data << "\n" unless data =~ /\n$/
+
+      inject_into_file 'migrate', data, :after => /^ActiveRecord::Schema.define do\n/
+    end
+
     # Self explanatory :P
     def enable_asset_pipeline!
       return if File.read('boot.rb') =~ /^  config\.assets\.enabled = true$/
diff --git a/spec/actions_spec.rb b/spec/actions_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/actions_spec.rb
+++ b/spec/actions_spec.rb
@@ -123,4 +123,17 @@ describe TinyRails::Actions do
       initializers_rb.should =~ /\nremote code/
     end
   end
+
+  describe '#migration' do
+    let(:migrate) { File.read 'migrate' }
+
+    before do
+      action :create_file, 'migrate', "ActiveRecord::Schema.define do\nend"
+      action :migration, '  create_table :users'
+    end
+
+    it 'appends to schema definition on migrate file' do
+      migrate.should =~ /ActiveRecord::Schema.define do\n  create_table :users\nend/
+    end
+  end
 end
Add support for defining migration code from addons