arxutils_sqlite3 0.1.49 → 0.1.51

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,28 +6,6 @@ require "active_record"
6
6
  require "sqlite3"
7
7
  require "ykxutils"
8
8
 
9
- def require_x(path)
10
- require path
11
- rescue StandardError => e
12
- p "1 request_x"
13
- p e
14
- rescue LoadError => e
15
- p "21 request_x"
16
- p e
17
- rescue NotImplementedError => e
18
- p "22 request_x"
19
- p e
20
- rescue SyntaxError => e
21
- p "23 request_x"
22
- p e
23
- rescue ScriptError => e
24
- p "20 request_x"
25
- p e
26
- rescue Exception => e
27
- p "9 request_x"
28
- p e
29
- end
30
-
31
9
  module Arxutils_Sqlite3
32
10
  module Dbutil
33
11
  # DB操作用ユーティリティクラス
@@ -64,14 +42,14 @@ module Arxutils_Sqlite3
64
42
  def connect
65
43
  unless @connect_time
66
44
  begin
67
- #p "@dbconfig_dest_path=#{@dbconfig_dest_path}"
45
+ # p "@dbconfig_dest_path=#{@dbconfig_dest_path}"
68
46
  dbconfig = Ykxutils.yaml_load_file_compati(@dbconfig_dest_path)
69
- #p "dbconfig=#{dbconfig}"
70
- #p "@env=#{@env}"
47
+ # p "dbconfig=#{dbconfig}"
48
+ # p "@env=#{@env}"
71
49
  ActiveRecord::Base.establish_connection(dbconfig[@env])
72
50
  ActiveRecord::Base.logger = Logger.new(@log_path)
73
51
  @connect_time = DateTime.now.new_offset
74
- rescue => ex
52
+ rescue StandardError => ex
75
53
  p ex.message
76
54
  end
77
55
  end
@@ -3,6 +3,5 @@ require_relative "dbutil/dbconnect"
3
3
  module Arxutils_Sqlite3
4
4
  # DB操作用ユーティリティクラス
5
5
  module Dbutil
6
- #
7
6
  end
8
7
  end
@@ -142,10 +142,10 @@ module Arxutils_Sqlite3
142
142
  hier = @hier_klass.find_by(child_id: num)
143
143
  level = hier.level
144
144
  parent_id = hier.parent_id
145
- base = @base_klass.find_by(ord_id: num)
145
+ # base = @base_klass.find_by(ord_id: num)
146
146
 
147
- parent_base = @base_klass.find_by(ord_id: parent_id)
148
- parent_hier_string = parent_base.__send__ @hier_symbol
147
+ # parent_base = @base_klass.find_by(ord_id: parent_id)
148
+ # parent_hier_string = parent_base.__send__ @hier_symbol
149
149
 
150
150
  # 属する子を探す
151
151
  children_hier = @hier_klass.where(parent_id: num)
@@ -1,21 +1,22 @@
1
- #require "arxutils_sqlite3"
1
+ # require "arxutils_sqlite3"
2
2
  require "ykutils"
3
3
  require "fileutils"
4
- #require "active_support"
4
+ # require "active_support"
5
5
  require "active_record"
6
6
  require "active_record/migration"
7
7
  require "pp"
8
8
 
9
9
  # ActiveRecord用ユーティリティモジュール
10
10
  module Arxutils_Sqlite3
11
- ##
12
- # migrateに必要なファイルをテンプレートから作成し、migarteを実行する
11
+ ##
12
+ # migrateに必要なファイルをテンプレートから作成し、migarteを実行する
13
13
  class Migrate
14
14
  attr_reader :migrate_dir
15
+
15
16
  # migrate用スクリプトファイル名の先頭の番号の間隔
16
17
  FILENAME_COUNTER_STEP = 10
17
18
  # DB接続までの初期化を行うDbinitクラスのインスタンス
18
- #attr_reader :dbinit
19
+ # attr_reader :dbinit
19
20
 
20
21
  # migrate用のスクリプトの生成、migrateの実行を行うmigratexの生成
21
22
  def initialize(
@@ -25,7 +26,9 @@ module Arxutils_Sqlite3
25
26
  db_scheme_ary,
26
27
  acrecord_config,
27
28
  migrate_dir
28
- )
29
+ )
30
+ # アプリ構成情報
31
+ @config = config
29
32
  # DB格納ディレクトリ名
30
33
  @db_dir = config.get_db_dir
31
34
  # DB構成ファイルの出力先ディレクトリ
@@ -39,7 +42,7 @@ module Arxutils_Sqlite3
39
42
  @src_path = config.get_template_acrecord_dir
40
43
  # 構成ファイル格納ディレクトリ
41
44
  @src_config_path = config.get_template_config_dir
42
- # @src_config_path = Arxutils_Sqlite3::TEMPLATE_CONFIG_DIR
45
+ # @src_config_path = Arxutils_Sqlite3::TEMPLATE_CONFIG_DIR
43
46
  # データベーススキーマ定義配列
44
47
  @db_scheme_ary = db_scheme_ary
45
48
  # リレーション指定
@@ -53,29 +56,28 @@ module Arxutils_Sqlite3
53
56
 
54
57
  # マイグレート用スクリプト、DB構成情報ファイル、DBファイルの削除
55
58
  def delete_migrate_and_config_and_db
56
- if @migrate_dir
57
- Dir.glob(File.join(@migrate_dir, "*")).each do |x|
58
- FileUtils.rm(x) if File.file?(x)
59
- end
60
- end
59
+ # def delete_migrate_and_config
60
+ delete_migrate
61
61
  Dir.glob(File.join(@dest_config_dir, "*")).each do |x|
62
- FileUtils.rm(x) if File.file?(x)
63
- end
64
- Dir.glob(File.join(@db_dir, "*")).each do |x|
65
- # puts x
66
- FileUtils.rm(x) if File.file?(x)
62
+ basename = File.basename(x)
63
+ ret = !@config.exclude_file?(basename)
64
+ ret_file = File.file?(x)
65
+ FileUtils.rm(x) if ret_file && ret
67
66
  end
67
+ delete_db
68
68
  end
69
69
 
70
70
  # マイグレート用スクリプト、DBファイルの削除
71
71
  def delete_migrate_and_db
72
- if @migrate_dir
73
- Dir.glob(File.join(@migrate_dir, "*")).each do |x|
74
- FileUtils.rm(x) if File.file?(x)
75
- end
76
- end
77
- Dir.glob(File.join(@db_dir, "*")).each do |x|
78
- # puts x
72
+ delete_migrate
73
+ delete_db
74
+ end
75
+
76
+ # マイグレート用スクリプトの削除
77
+ def delete_migrate
78
+ return unless @migrate_dir
79
+
80
+ Dir.glob(File.join(@migrate_dir, "*")).each do |x|
79
81
  FileUtils.rm(x) if File.file?(x)
80
82
  end
81
83
  end
@@ -152,7 +154,8 @@ module Arxutils_Sqlite3
152
154
  def make_dbconfig(data)
153
155
  content = convert(data, @src_config_path, @dbconfig_src_fname)
154
156
  File.open(
155
- @dbconfig_dest_path, "w:utf-8") do |f|
157
+ @dbconfig_dest_path, "w:utf-8"
158
+ ) do |f|
156
159
  f.puts(content)
157
160
  end
158
161
  end
@@ -185,23 +188,22 @@ module Arxutils_Sqlite3
185
188
 
186
189
  # スキーマ設定からmigarte用スクリプトの内容を生成
187
190
  def make_script_group(data)
188
- #p data
189
- data[:flist].map {
190
- |kind|
191
+ # p data
192
+ data[:flist].map do |kind|
191
193
  [kind,
192
- convert(data, @src_path, "#{kind}.tmpl"),
193
- data[:classname_downcase]
194
- ] }
194
+ convert(data, @src_path, "#{kind}.tmpl"),
195
+ data[:classname_downcase]]
196
+ end
195
197
  end
196
198
 
197
199
  # migrationのスクリプトをファイル出力する
198
200
  def output_script(idy, kind, content, classname_downcase)
199
201
  additional = case kind
200
- when "base", "noitem"
201
- ""
202
- else
203
- kind
204
- end
202
+ when "base", "noitem"
203
+ ""
204
+ else
205
+ kind
206
+ end
205
207
  fname = File.join(@migrate_dir, format("%03d_create_%s%s.rb", idy, additional, classname_downcase))
206
208
  File.open(fname, "w", **{ encoding: Encoding::UTF_8 }) do |f|
207
209
  f.puts(content)
@@ -0,0 +1,68 @@
1
+ # Defining a task called default that depends on the tasks setup, makeconfig, migrate, and acr.
2
+ require "arxutils_sqlite3"
3
+ config = Arxutils_Sqlite3::Config.new
4
+
5
+ klass = nil
6
+ setting = config.load_setting_yaml_file
7
+ klass = setting[:klass]
8
+
9
+ desc "setup copy_db_scheme copy_opts makeconfig make_migrate_script migrate acr"
10
+ task arxutil_sqlite3: %w[setup copy_db_scheme copy_opts makeconfig make_migrate_script migrate acr]
11
+
12
+ desc "delete setup copy_db_scheme copy_opts makeconfig make_migrate_script migrate acr"
13
+ task bootstrap: %w[delete arxutil_sqlite3]
14
+
15
+ desc "migrate acr"
16
+ task ma: %w[migrate acr]
17
+
18
+ desc "delete_db"
19
+ task b: %w[delete_db]
20
+
21
+ # コマンドラインで指定したクラス名を含むオプション指定用ハッシュの定義を含むRubyスクリ
22
+ # プトファイルの生成
23
+ desc "produce setting.yml, db_scheme.yml.sample and opts.rb.sample with class name #{klass}"
24
+ task :setup do
25
+ sh "bundle exec arxutils_sqlite3 --cmd=s --klass=#{klass}"
26
+ end
27
+
28
+ desc "copy from db_scheme.yml.sample to db_scheme.yml"
29
+ task :copy_db_scheme do
30
+ sh "bundle exec arxutils_sqlite3 --cmd=cds"
31
+ end
32
+
33
+ desc "copy from opts.rb.sample to opts.rb"
34
+ task :copy_opts do
35
+ sh "bundle exec arxutils_sqlite3 --cmd=co"
36
+ end
37
+
38
+ # DB構成情報の生成
39
+ desc "produce sqlite3.yml"
40
+ task :makeconfig do
41
+ sh "bundle exec arxutils_sqlite3 --cmd=c"
42
+ end
43
+
44
+ # マイグレート用スクリプトファイルの生成
45
+ desc "produce migration scripts"
46
+ task :make_migrate_script do
47
+ sh "bundle exec arxutils_sqlite3 --cmd=f --yaml=config/db_scheme.yml"
48
+ end
49
+ # マイグレートの実行
50
+ desc "execute migration"
51
+ task :migrate do
52
+ sh "bundle exec arxutils_sqlite3 --cmd=m"
53
+ end
54
+
55
+ desc "call ActiveRecord instance method"
56
+ task :acr do
57
+ sh "bundle exec arxutils_sqlite3 --cmd=a"
58
+ end
59
+
60
+ desc "delete configuration files adn migration scripts and db files"
61
+ task :delete do
62
+ sh "bundle exec arxutils_sqlite3 --cmd=d"
63
+ end
64
+
65
+ desc "delete db files"
66
+ task :delete_db do
67
+ sh "bundle exec arxutils_sqlite3 --cmd=b"
68
+ end
@@ -4,7 +4,8 @@ module Arxutils_Sqlite3
4
4
  def self.make_log_path(db_dir, dbconfig)
5
5
  log_path = ""
6
6
  log_fname = Dbutil::Dbconnect.make_log_file_name(
7
- dbconfig, Config::DATABASELOG)
7
+ dbconfig, Config::DATABASELOG
8
+ )
8
9
  if db_dir && log_fname
9
10
  # DB用ログファイルへのパス
10
11
  log_path = File.join(db_dir, log_fname)
@@ -1,4 +1,4 @@
1
1
  module Arxutils_Sqlite3
2
2
  # バージョン番号
3
- VERSION = "0.1.49".freeze
3
+ VERSION = "0.1.51".freeze
4
4
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "ykutils"
3
4
  require "ykxutils"
4
5
 
@@ -24,4 +25,4 @@ require_relative "arxutils_sqlite3/transactstate"
24
25
  require_relative "arxutils_sqlite3/hier"
25
26
  require_relative "arxutils_sqlite3/migrate"
26
27
  require_relative "arxutils_sqlite3/util"
27
- require_relative "dbacrecord"
28
+ require_relative "dbacrecord"
@@ -2,8 +2,8 @@ class Dbsetup
2
2
  def initialize(connect_time)
3
3
  @connect_time = connect_time
4
4
  @ct = <%= klass %>::Dbutil::Countdatetime.create( countdatetime: @connect_time )
5
- @hs_by_notebook = {}
6
- @hs_by_id = {}
5
+ @hs_by_notebook = Hash.new
6
+ @hs_by_id = Hash.new
7
7
  end
8
8
  =begin
9
9
  # 指定stack(文字列)にノートブック(文字列)、ノートブック数、タグ数を追加
@@ -13,7 +13,9 @@ class Dbsetup
13
13
  cur_ennblist = Currentennblist.where( notebook: notebook ).limit(1)
14
14
  if cur_ennblist.size == 0
15
15
  begin
16
- ennblist = Ennblist.create( stack: stack, notebook: notebook , count: count, tag_count: tag_count , start_datetime: @register_time )
16
+ ennblist = Ennblist.create( stack: stack, notebook: notebook ,
17
+ count: count, tag_count: tag_count ,
18
+ start_datetime: @register_time )
17
19
  evnb = Evnb.create( time_id: @ct.id , ennb_id: ennblist.id )
18
20
  rescue => ex
19
21
  p ex.class
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arxutils_sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.49
4
+ version: 0.1.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - yasuo kominami
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-14 00:00:00.000000000 Z
11
+ date: 2022-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '6.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: sqlite3
42
+ name: simpleoptparse
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: ykutils
56
+ name: sqlite3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: ykxutils
70
+ name: ykutils
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: simpleoptparse
84
+ name: ykxutils
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -109,33 +109,33 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rspec
112
+ name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.0'
117
+ version: '13.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.0'
124
+ version: '13.0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rake
126
+ name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '13.0'
131
+ version: '3.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '13.0'
138
+ version: '3.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -206,14 +206,15 @@ files:
206
206
  - CHANGELOG.md
207
207
  - CODE_OF_CONDUCT.md
208
208
  - Gemfile
209
+ - Gemfile.lock
209
210
  - LICENSE
210
- - LICENSE.txt
211
211
  - README.md
212
212
  - Rakefile
213
213
  - arxutils_sqlite3.gemspec
214
214
  - bin/console
215
215
  - bin/setup
216
216
  - config/.gitignore
217
+ - config/setting.yml
217
218
  - exe/arxutils_sqlite3
218
219
  - lib/arxutils_sqlite3.rb
219
220
  - lib/arxutils_sqlite3/arx.rb
@@ -223,6 +224,7 @@ files:
223
224
  - lib/arxutils_sqlite3/dbutil/dbconnect.rb
224
225
  - lib/arxutils_sqlite3/hier.rb
225
226
  - lib/arxutils_sqlite3/migrate.rb
227
+ - lib/arxutils_sqlite3/rake_task.rb
226
228
  - lib/arxutils_sqlite3/transactstate.rb
227
229
  - lib/arxutils_sqlite3/util.rb
228
230
  - lib/arxutils_sqlite3/version.rb
@@ -235,9 +237,9 @@ files:
235
237
  - lib/template/acrecord/current.tmpl
236
238
  - lib/template/acrecord/db_scheme/db_scheme.yml
237
239
  - lib/template/acrecord/db_scheme/db_scheme.yml.sample
238
- - lib/template/acrecord/db_scheme/dbsetup.rb
239
- - lib/template/acrecord/db_scheme/opts.rb
240
+ - lib/template/acrecord/db_scheme/dbsetup.tmpl
240
241
  - lib/template/acrecord/db_scheme/opts.rb.sample
242
+ - lib/template/acrecord/db_scheme/opts.tmpl
241
243
  - lib/template/acrecord/invalid.tmpl
242
244
  - lib/template/acrecord/noitem.tmpl
243
245
  - lib/template/config/mysql.tmpl
@@ -256,7 +258,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
256
258
  requirements:
257
259
  - - ">="
258
260
  - !ruby/object:Gem::Version
259
- version: 2.5.0
261
+ version: 2.6.0
260
262
  required_rubygems_version: !ruby/object:Gem::Requirement
261
263
  requirements:
262
264
  - - ">="
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2022 yasuo kominami
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.