dbagent 3.0.1 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/db_agent/db_handler/postgresql.rb +1 -1
- data/lib/db_agent/db_handler.rb +1 -1
- data/lib/db_agent/seeder.rb +17 -0
- data/lib/db_agent/version.rb +1 -1
- metadata +25 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 83e62569d42b3c020a5aadedf966a8508fa32fe657a07adffe0dc712e36344c5
         | 
| 4 | 
            +
              data.tar.gz: 31c24c2bb2b5888846dd8bbeb2f17eddcf40894439df568188335bfd1abc342d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 74994c047b77abceff18643b9dc5f48fb15a0ebb44afec1c53064396ea11418cc887e2ba7095de676f44c35269a33c33e93b0a041c179d61ed65b1ee6cd50a2f
         | 
| 7 | 
            +
              data.tar.gz: 26c54890973d3553c358c9d848e6abc16b36a52d09bcb3f31d163881a8efee2debe73686331c7fd0c328cac8d0f354faa335db6a638c1234e51f6bec1c99e67b
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            [](https://github.com/enspirit/dbagent/actions/workflows/integration.yml)
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            # DbAgent, a ruby tool to migrate, spy and seed relational databases
         | 
| 2 4 |  | 
| 3 5 | 
             
            DbAgent helps managing a relational database lifecyle through three main tools:
         | 
    
        data/lib/db_agent/db_handler.rb
    CHANGED
    
    
    
        data/lib/db_agent/seeder.rb
    CHANGED
    
    | @@ -8,6 +8,8 @@ module DbAgent | |
| 8 8 |  | 
| 9 9 | 
             
                def install(from)
         | 
| 10 10 | 
             
                  handler.sequel_db.transaction do
         | 
| 11 | 
            +
                    before_seeding!
         | 
| 12 | 
            +
             | 
| 11 13 | 
             
                    folder = handler.data_folder/from
         | 
| 12 14 |  | 
| 13 15 | 
             
                    # load files in order
         | 
| @@ -26,6 +28,8 @@ module DbAgent | |
| 26 28 | 
             
                      file = pairs[name]
         | 
| 27 29 | 
             
                      handler.sequel_db[name.to_sym].multi_insert(file.load)
         | 
| 28 30 | 
             
                    end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                    after_seeding!(folder)
         | 
| 29 33 | 
             
                  end
         | 
| 30 34 | 
             
                end
         | 
| 31 35 |  | 
| @@ -86,6 +90,19 @@ module DbAgent | |
| 86 90 |  | 
| 87 91 | 
             
              private
         | 
| 88 92 |  | 
| 93 | 
            +
                def before_seeding!
         | 
| 94 | 
            +
                  file = handler.data_folder/"before_seeding.sql"
         | 
| 95 | 
            +
                  return unless file.exists?
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  handler.sequel_db.execute(file.read)
         | 
| 98 | 
            +
                end
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                def after_seeding!(folder)
         | 
| 101 | 
            +
                  file = folder/"after_seeding.sql"
         | 
| 102 | 
            +
                  handler.sequel_db.execute(file.read) if file.exists?
         | 
| 103 | 
            +
                  after_seeding!(folder.parent) unless folder == handler.data_folder
         | 
| 104 | 
            +
                end
         | 
| 105 | 
            +
             | 
| 89 106 | 
             
                def merged_data(from)
         | 
| 90 107 | 
             
                  folder = handler.data_folder/from
         | 
| 91 108 | 
             
                  data   = {}
         | 
    
        data/lib/db_agent/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: dbagent
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3. | 
| 4 | 
            +
              version: 3.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Bernard Lambeau
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-07-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: sequel
         | 
| @@ -86,14 +86,14 @@ dependencies: | |
| 86 86 | 
             
                requirements:
         | 
| 87 87 | 
             
                - - "~>"
         | 
| 88 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: '0. | 
| 89 | 
            +
                    version: '0.20'
         | 
| 90 90 | 
             
              type: :runtime
         | 
| 91 91 | 
             
              prerelease: false
         | 
| 92 92 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 93 | 
             
                requirements:
         | 
| 94 94 | 
             
                - - "~>"
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            -
                    version: '0. | 
| 96 | 
            +
                    version: '0.20'
         | 
| 97 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 98 | 
             
              name: net-ping
         | 
| 99 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -115,6 +115,9 @@ dependencies: | |
| 115 115 | 
             
                - - "~>"
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 117 | 
             
                    version: '2'
         | 
| 118 | 
            +
                - - ">="
         | 
| 119 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 120 | 
            +
                    version: 2.7.1
         | 
| 118 121 | 
             
              type: :runtime
         | 
| 119 122 | 
             
              prerelease: false
         | 
| 120 123 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -122,6 +125,23 @@ dependencies: | |
| 122 125 | 
             
                - - "~>"
         | 
| 123 126 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 127 | 
             
                    version: '2'
         | 
| 128 | 
            +
                - - ">="
         | 
| 129 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 130 | 
            +
                    version: 2.7.1
         | 
| 131 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 132 | 
            +
              name: thin
         | 
| 133 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 134 | 
            +
                requirements:
         | 
| 135 | 
            +
                - - "~>"
         | 
| 136 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 137 | 
            +
                    version: '1'
         | 
| 138 | 
            +
              type: :runtime
         | 
| 139 | 
            +
              prerelease: false
         | 
| 140 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 141 | 
            +
                requirements:
         | 
| 142 | 
            +
                - - "~>"
         | 
| 143 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 144 | 
            +
                    version: '1'
         | 
| 125 145 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 126 146 | 
             
              name: bundler
         | 
| 127 147 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -209,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 209 229 | 
             
                - !ruby/object:Gem::Version
         | 
| 210 230 | 
             
                  version: '0'
         | 
| 211 231 | 
             
            requirements: []
         | 
| 212 | 
            -
            rubygems_version: 3. | 
| 232 | 
            +
            rubygems_version: 3.1.4
         | 
| 213 233 | 
             
            signing_key: 
         | 
| 214 234 | 
             
            specification_version: 4
         | 
| 215 235 | 
             
            summary: A tool to migrate, spy and seed relational databases.
         |