sequel_tools 0.1.12 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -4
- data/lib/sequel_tools/actions/shell_postgres.rb +2 -2
- data/lib/sequel_tools/actions_manager.rb +8 -3
- data/lib/sequel_tools/pg_helper.rb +5 -3
- data/lib/sequel_tools/version.rb +1 -1
- data/lib/sequel_tools.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06cfd2214117b4cdfb808527ff3c611d55e3c661270460f04cf8f9b87effb60e
|
4
|
+
data.tar.gz: 0ab06e31e27d5781b820c783a10f41c9a54eb12df033611be3fdfad1fabbc896
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9a44d46447c25dfd7380286812e32725f958aac419b02a6d8d3e38a83a421186762a539e3b5ed3c61de81580ad8752de911a046ad69817395b18f63a37f0d5d
|
7
|
+
data.tar.gz: 9fd7486aae118ff74d43bb0d797778d26d7dab0b93b69c2e0dcb4f49fc986da9d5ea3913b205e7844b71f4e6f41635451cb1d4f08c1d51d4d3afb8942dc7fb4f
|
data/README.md
CHANGED
@@ -40,8 +40,8 @@ Here's a sample Rakefile supporting migrate actions:
|
|
40
40
|
require 'bundler/setup'
|
41
41
|
require 'sequel_tools'
|
42
42
|
|
43
|
-
base_config =
|
44
|
-
project_root:
|
43
|
+
base_config = {
|
44
|
+
# project_root: Dir.pwd,
|
45
45
|
dbadapter: 'postgres',
|
46
46
|
dbname: 'mydb',
|
47
47
|
username: 'myuser',
|
@@ -63,7 +63,14 @@ base_config = SequelTools.base_config(
|
|
63
63
|
# when nil, defaults to the value of the :dbadapter config.
|
64
64
|
# This is the database we should connect to before executing "create database dbname"
|
65
65
|
maintenancedb: :default,
|
66
|
-
|
66
|
+
# migrations_table: 'schema_migrations',
|
67
|
+
# allow other tables data to be included in the dump file generated by rake db:schema_dump
|
68
|
+
# extra_tables_in_dump: nil
|
69
|
+
# for example, if you want to keep migrations from ActiveRecord in the dump file, while using
|
70
|
+
# another table for Sequel migrations:
|
71
|
+
# migrations_table: 'sequel_schema_migrations',
|
72
|
+
# extra_tables_in_dump: ['schema_migrations'],
|
73
|
+
}
|
67
74
|
|
68
75
|
namespace 'db' do
|
69
76
|
SequelTools.inject_rake_tasks base_config.merge(dump_schema_on_migrate: true), self
|
@@ -120,7 +127,7 @@ PGPASSWORD=$DBPASSWORD
|
|
120
127
|
psql
|
121
128
|
```
|
122
129
|
|
123
|
-
Then you may
|
130
|
+
Then you may set `shell_command: '~/bin/opensql'` in config.
|
124
131
|
|
125
132
|
Alternatively you can define the `shell_#{dbadapter}` action if you prefer. Take a look at
|
126
133
|
the implementation for `shell_postgres` to see how to do that. If you want to share that action
|
@@ -8,8 +8,8 @@ class SequelTools::ActionsManager
|
|
8
8
|
psql = c[:psql]
|
9
9
|
env = {
|
10
10
|
'PGDATABASE' => c[:dbname],
|
11
|
-
'PGHOST' => c[:dbhost],
|
12
|
-
'PGPORT' => c[:dbport].to_s,
|
11
|
+
'PGHOST' => c[:dbhost] || 'localhost',
|
12
|
+
'PGPORT' => (c[:dbport] || 5432).to_s,
|
13
13
|
'PGUSER' => c[:username],
|
14
14
|
'PGPASSWORD' => c[:password].to_s,
|
15
15
|
}
|
@@ -9,9 +9,14 @@ module SequelTools
|
|
9
9
|
uri_parts = []
|
10
10
|
uri_parts << 'jdbc:' if RUBY_PLATFORM == 'java'
|
11
11
|
uri_parts << "#{c[:jdbc_adapter] || c[:dbadapter]}://"
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
host = c[:dbhost]
|
13
|
+
host ||= 'localhost' unless (c[:dbadapter] == 'sqlite') || c[:no_dbhost]
|
14
|
+
if host
|
15
|
+
uri_parts << host
|
16
|
+
uri_parts << ':' << c[:dbport] if c[:dbport]
|
17
|
+
uri_parts << '/'
|
18
|
+
end
|
19
|
+
uri_parts << dbname
|
15
20
|
if user = c[:username]
|
16
21
|
uri_parts << '?user=' << user
|
17
22
|
uri_parts << '&password=' << c[:password] if c[:password]
|
@@ -7,12 +7,14 @@ class PgHelper
|
|
7
7
|
Tempfile.open 'pgpass' do |file|
|
8
8
|
c = config
|
9
9
|
file.chmod 0600
|
10
|
-
|
10
|
+
host = c[:dbhost] || 'localhost'
|
11
|
+
port = c[:dbport] || '5432'
|
12
|
+
file.write "#{host}:#{port}:#{c[:dbname]}:#{c[:username]}:#{c[:password]}"
|
11
13
|
file.close
|
12
14
|
env = {
|
13
15
|
'PGDATABASE' => connect_database || c[:dbname],
|
14
|
-
'PGHOST' =>
|
15
|
-
'PGPORT' =>
|
16
|
+
'PGHOST' => host,
|
17
|
+
'PGPORT' => port.to_s,
|
16
18
|
'PGUSER' => c[:username],
|
17
19
|
'PGPASSFILE' => file.path
|
18
20
|
}
|
data/lib/sequel_tools/version.rb
CHANGED
data/lib/sequel_tools.rb
CHANGED
@@ -4,7 +4,7 @@ require 'sequel_tools/version'
|
|
4
4
|
|
5
5
|
module SequelTools
|
6
6
|
DEFAULT_CONFIG = {
|
7
|
-
project_root:
|
7
|
+
project_root: Dir.pwd,
|
8
8
|
pg_dump: 'pg_dump', # command used to run pg_dump
|
9
9
|
psql: 'psql', # command used to run psql
|
10
10
|
maintenancedb: :default, # DB to connect to for creating/dropping databases
|
@@ -12,7 +12,7 @@ module SequelTools
|
|
12
12
|
schema_location: 'db/migrations/schema.sql',
|
13
13
|
seeds_location: 'db/seeds.rb',
|
14
14
|
dbname: nil,
|
15
|
-
dbhost:
|
15
|
+
dbhost: nil,
|
16
16
|
dbadapter: 'postgres',
|
17
17
|
dbport: nil,
|
18
18
|
username: nil,
|
@@ -24,7 +24,7 @@ module SequelTools
|
|
24
24
|
extra_tables_in_dump: nil,
|
25
25
|
} # unfrozen on purpose so that one might want to update the defaults
|
26
26
|
|
27
|
-
REQUIRED_KEYS = [ :
|
27
|
+
REQUIRED_KEYS = [ :dbadapter, :dbname ]
|
28
28
|
class MissingConfigError < StandardError; end
|
29
29
|
def self.base_config(extra_config = {})
|
30
30
|
config = DEFAULT_CONFIG.merge extra_config
|
@@ -40,7 +40,7 @@ module SequelTools
|
|
40
40
|
def self.inject_rake_tasks(config = {}, rake_context)
|
41
41
|
require_relative 'sequel_tools/actions_manager'
|
42
42
|
require_relative 'sequel_tools/all_actions'
|
43
|
-
actions_manager = ActionsManager.new config
|
43
|
+
actions_manager = ActionsManager.new base_config(config)
|
44
44
|
actions_manager.load_all
|
45
45
|
actions_manager.export_as_rake_tasks rake_context
|
46
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rodrigo Rosenfeld Rosas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|