how to generate a migration with custom generator

390 Views Asked by At

this is my generator class in lib/genrators/form

class FormGenerator < Rails::Generators::Base
      source_root File.expand_path('templates', __FILE__)
      source_root File.expand_path('templates', __dir__)
      argument :model, type: :string
    
    def create_template
    
        template "models/form.template", "app/models/#{model}.rb"
        template "controllers/forms_controller.template", "app/controllers/#{model}s_controller.rb"
        template "javascript/api/form.template", "app/javascript/api/#{model}.js"
        template "javascript/pages/component/forms.template", "app/javascript/component/#{model}s.vue"
        template "javascript/pages/form/index.template", "app/javascript/pages/#{model}/index.vue"
        template "javascript/pages/form/layout.template", "app/javascript/pages/#{model}/layout.vue"
        template "javascript/store/actions/form.template", "app/javascript/store/actions/#{model}.js"
        template "javascript/store/getters/form.template", "app/javascript/store/getters/#{model}.js"
        template "javascript/store/modules/form.template", "app/javascript/store/modules/#{model}.js"
        template "javascript/store/mutations/form.template", "app/javascript/store/mutations/#{model}.js"
    
      end
    
    end

and this is output :

rails g form test name:string
create  app/models/test.rb
      create  app/controllers/tests_controller.rb
      create  app/javascript/api/test.js
      create  app/javascript/component/tests.vue
      create  app/javascript/pages/test/index.vue
      create  app/javascript/pages/test/layout.vue
      create  app/javascript/store/actions/test.js
      create  app/javascript/store/getters/test.js
      create  app/javascript/store/modules/test.js
      create  app/javascript/store/mutations/test.js

i wanna this generator , generates a migration file in db/migrate i have tried these things and it didnt work out :

class FormGenerator < Rails::Generators::Base
include Rails::Generators::Migration
include ActiveRecord::Generators::Base
migration_template 
0

There are 0 best solutions below