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 +4 -4
- data/.travis.yml +1 -1
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/sequel_tools.rb +2 -0
- data/lib/sequel_tools/actions/connect_db.rb +8 -1
- data/lib/sequel_tools/actions/schema_dump_postgres.rb +1 -5
- data/lib/sequel_tools/sequel_tools_logger.rb +22 -0
- data/lib/sequel_tools/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7d0e18541b0c10f5eb8a0a2fa329c72fd49f1435
|
|
4
|
+
data.tar.gz: c4ee1602be22e186639dc5a4da230e03b47fe2bd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d011efe822f2399cbbb8ab529e11c4abb8dca9f05d902a3345df2948d261aac202fd429ce51a5b9ef0d8b32dd492dc5087b75eec7a9aa1f6c8c2fb3c6b3040d7
|
|
7
|
+
data.tar.gz: 700afa1a00a72e71dce979d25fd192165b242c5e408d2725640afdd0cbab5d9e5b6dacbdb86882501349e2e9801725ae8dbab78a7017583a7fb20fbaa3439125
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# SequelTools
|
|
1
|
+
# SequelTools [](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.
|
data/lib/sequel_tools.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
data/lib/sequel_tools/version.rb
CHANGED
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.
|
|
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
|