sequel_tools 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b25c97f4906a511718907a4eed3dd0961f546b81
4
- data.tar.gz: 2d97d6cc1192d996208546842fcd1ba0090fd9b1
3
+ metadata.gz: 7d0e18541b0c10f5eb8a0a2fa329c72fd49f1435
4
+ data.tar.gz: c4ee1602be22e186639dc5a4da230e03b47fe2bd
5
5
  SHA512:
6
- metadata.gz: 7be946fb5573e87ffb93a02ebc9b5b1dc497953117ad720df53c73ba028517ad63dfdf2c7a42b061e60aa188f1e0cb9705f6be63814dbedce3d05603a4c349fa
7
- data.tar.gz: 837f5ad9998ec57cf5faf1750940831d9033c224638a2247f578bb5e05e0ce833e1344f50d633350d3afd9c81a4f88e1f4e32888875ea3e80af67b66df0ad3fc
6
+ metadata.gz: d011efe822f2399cbbb8ab529e11c4abb8dca9f05d902a3345df2948d261aac202fd429ce51a5b9ef0d8b32dd492dc5087b75eec7a9aa1f6c8c2fb3c6b3040d7
7
+ data.tar.gz: 700afa1a00a72e71dce979d25fd192165b242c5e408d2725640afdd0cbab5d9e5b6dacbdb86882501349e2e9801725ae8dbab78a7017583a7fb20fbaa3439125
@@ -1,4 +1,4 @@
1
- sudo: false
1
+ sudo: true
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.4.1
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sequel_tools (0.1.0)
4
+ sequel_tools (0.1.1)
5
5
  sequel
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # SequelTools
1
+ # SequelTools [![Build Status](https://travis-ci.org/rosenfeld/sequel_tools.svg?branch=master)](https://travis-ci.org/rosenfeld/sequel_tools)
2
2
 
3
3
  SequelTools brings some tooling around Sequel migrations and database management, providing tasks
4
4
  to create, drop and migrate the database, plus dumping and restoring from the last migrated schema.
@@ -17,6 +17,8 @@ module SequelTools
17
17
  username: nil,
18
18
  password: nil,
19
19
  dump_schema_on_migrate: false,
20
+ log_level: nil,
21
+ sql_log_level: :debug,
20
22
  } # unfrozen on purpose so that one might want to update the defaults
21
23
 
22
24
  REQUIRED_KEYS = [ :project_root, :dbadapter, :dbname, :username ]
@@ -2,9 +2,16 @@
2
2
 
3
3
  require 'sequel'
4
4
  require_relative '../actions_manager'
5
+ require_relative '../sequel_tools_logger'
5
6
 
6
7
  SequelTools::ActionsManager::Action.register :connect_db, nil do |args, context|
7
8
  next if context[:db]
8
- context[:db] = Sequel.connect context[:uri_builder].call context[:config]
9
+ config = context[:config]
10
+ context[:db] = db = Sequel.connect context[:uri_builder].call config
11
+ db.sql_log_level = config[:sql_log_level]
12
+ db.log_connection_info = false
13
+ next unless log_level = config[:log_level]
14
+ require 'logger'
15
+ db.logger = SequelTools::SequelToolsLogger.new(STDOUT, log_level)
9
16
  end
10
17
 
@@ -19,11 +19,7 @@ class SequelTools::ActionsManager
19
19
  puts 'failed to dump data for schema_migrations and schema_info. Aborting.'
20
20
  exit 1
21
21
  end
22
- # to make it easier to see the git diffs and to reduce conflicts when working in separate
23
- # branches, we use a separate line for each value in schema_migrations:
24
- regex = /(?<=INSERT INTO schema_migrations VALUES \()(.*?)(?=\))/i
25
- migration_data = stdout.sub(regex){ |m| "\n #{m.split(',').join(",\n ")}\n" }
26
- content = [content, migration_data].join "\n\n"
22
+ content = [content, stdout].join "\n\n"
27
23
  end
28
24
  require 'fileutils'
29
25
  FileUtils.mkdir_p File.dirname schema_location
@@ -0,0 +1,22 @@
1
+ # frozen-string-literal: true
2
+
3
+ require 'logger'
4
+
5
+ module SequelTools
6
+ class SequelToolsLogger < Logger
7
+ def initialize(logdev, level)
8
+ super logdev
9
+ self.level = level
10
+ self.formatter = proc do |severity, datetime, progname, msg|
11
+ "[#{severity}] #{msg}\n"
12
+ end
13
+ end
14
+
15
+ def add(severity, message = nil, progname = nil, &block)
16
+ message = block_given? ? yield : progname if message.nil?
17
+ return if severity == ERROR &&
18
+ message =~ /relation "schema_(migrations|info)" does not exist/
19
+ super
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen-string-literal: true
2
2
 
3
3
  module SequelTools
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Rosenfeld Rosas
@@ -127,6 +127,7 @@ files:
127
127
  - lib/sequel_tools/all_actions.rb
128
128
  - lib/sequel_tools/migration_utils.rb
129
129
  - lib/sequel_tools/pg_helper.rb
130
+ - lib/sequel_tools/sequel_tools_logger.rb
130
131
  - lib/sequel_tools/version.rb
131
132
  - scripts/ci/travis-build.sh
132
133
  - sequel_tools.gemspec