sequel_tools 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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