Rails - Shared Database Tables between two apps

后端 未结 2 1281
予麋鹿
予麋鹿 2021-02-01 06:45

We’ll be releasing shortly a companion Rails application to our existing Rails app. We will be running the companion app alongside our existing app on the same servers.

2条回答
  •  庸人自扰
    2021-02-01 07:41

    I think what you want is share model,not only database table,in rails table is model based.

    create main rails app -->rake g model User name:string->rake db:migrate
    
    create shared rails app 
    -->rake sync:copy 
    -->(DO NOT generate same model in shared app, also do not db:migrate)
    -->config/generater shared
    controller and router.rb file(dependend your requirement)
    

    sync.rake(appshared/lib/tasks/)

    namespace :sync do
    
          desc 'Copy common models and tests from Master'
          task :copy do
            source_path = '/Users/ok/github/appDataTester/appmain'
            dest_path = '/Users/ok/github/appDataTester/appshared'
    
            # Copy all models & tests
            %x{cp #{source_path}/app/models/*.rb #{dest_path}/app/models/}
            %x{cp #{source_path}/test/models/*_test.rb #{dest_path}/test/models/}
    
            # Fixtures
            %x{cp #{source_path}/test/fixtures/*.yml #{dest_path}/test/fixtures/}
    
            # Database YML
            %x{cp #{source_path}/config/database.yml #{dest_path}/config/database.yml}
          end
        end
    

提交回复
热议问题