arxutils_sqlite3 0.1.37
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 +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +20 -0
- data/.rubocop_todo.yml +387 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +41 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +12 -0
- data/arxutils_sqlite3.gemspec +52 -0
- data/bin/arxutils-cli +134 -0
- data/bin/console +15 -0
- data/bin/makemigrate +55 -0
- data/bin/setup +8 -0
- data/bin/setupx.bat +7 -0
- data/bin/setupx.rb +4 -0
- data/config/.gitignore +3 -0
- data/lib/arxutils_sqlite3/arx.rb +41 -0
- data/lib/arxutils_sqlite3/dbutil/dbconnect.rb +95 -0
- data/lib/arxutils_sqlite3/dbutil/dbmgr.rb +28 -0
- data/lib/arxutils_sqlite3/dbutil.rb +22 -0
- data/lib/arxutils_sqlite3/hier.rb +218 -0
- data/lib/arxutils_sqlite3/migrate.rb +225 -0
- data/lib/arxutils_sqlite3/transactstate.rb +76 -0
- data/lib/arxutils_sqlite3/version.rb +4 -0
- data/lib/arxutils_sqlite3.rb +40 -0
- data/lib/template/config/mysql.tmpl +29 -0
- data/lib/template/config/sqlite3.tmpl +26 -0
- data/lib/template/relation/base.tmpl +14 -0
- data/lib/template/relation/current.tmpl +15 -0
- data/lib/template/relation/db_scheme/db_scheme.yml +48 -0
- data/lib/template/relation/db_scheme/dbsetup.rb +51 -0
- data/lib/template/relation/db_scheme/opts.rb +8 -0
- data/lib/template/relation/invalid.tmpl +12 -0
- data/lib/template/relation/noitem.tmpl +13 -0
- data/lib/template/relation/relation.tmpl +3 -0
- data/lib/template/relation/relation_count.tmpl +3 -0
- data/lib/template/relation/relation_current.tmpl +3 -0
- data/lib/template/relation/relation_invalid.tmpl +4 -0
- metadata +85 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/arxutils_sqlite3/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "arxutils_sqlite3"
|
7
|
+
spec.version = Arxutils_Sqlite3::VERSION
|
8
|
+
spec.authors = ["yasuo kominami"]
|
9
|
+
spec.email = ["ykominami@gmail.com"]
|
10
|
+
|
11
|
+
spec.summary = "utility functions for ActiveRecord."
|
12
|
+
spec.description = "utility functions for ActiveRecord."
|
13
|
+
spec.homepage = "https://ykominami.github.io/arxutils_sqlite3/"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.5.0"
|
16
|
+
|
17
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to 'https://mygemserver.com'"
|
18
|
+
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
20
|
+
# spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
|
21
|
+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
22
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
23
|
+
|
24
|
+
# Specify which files should be added to the gem when it is released.
|
25
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
26
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
27
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
28
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
29
|
+
end
|
30
|
+
end
|
31
|
+
spec.bindir = "exe"
|
32
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
33
|
+
spec.require_paths = ["lib"]
|
34
|
+
|
35
|
+
#spec.add_runtime_dependency "activesupport"
|
36
|
+
# spec.add_runtime_dependency "erb"
|
37
|
+
# spec.add_runtime_dependency "activerecord", "~> 4.2"
|
38
|
+
#spec.add_runtime_dependency "activerecord", "~> 6.1"
|
39
|
+
#spec.add_runtime_dependency "sqlite3"
|
40
|
+
# spec.add_runtime_dependency "mysql2" , "~> 0.4.1"
|
41
|
+
#spec.add_runtime_dependency "encx"
|
42
|
+
|
43
|
+
# spec.add_development_dependency "bundler", "~> 2.2.10"
|
44
|
+
#spec.add_development_dependency "bundler"
|
45
|
+
#spec.add_development_dependency "rake", ">= 12.3.3"
|
46
|
+
#spec.add_development_dependency "rspec"
|
47
|
+
# Uncomment to register a new dependency of your gem
|
48
|
+
# spec.add_dependency "example-gem", "~> 1.0"
|
49
|
+
|
50
|
+
# For more information and examples about making a new gem, checkout our
|
51
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
52
|
+
end
|
data/bin/arxutils-cli
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "arxutils_sqlite3"
|
4
|
+
require "simpleoptparse"
|
5
|
+
require "pp"
|
6
|
+
require "ykutils"
|
7
|
+
require "ykxutils"
|
8
|
+
|
9
|
+
if File.exist?(Arxutils_Sqlite3::DEST_OPTS_FILE)
|
10
|
+
opts_file = File.join("./" , Arxutils_Sqlite3::DEST_OPTS_FILE_2.to_s)
|
11
|
+
begin
|
12
|
+
require opts_file
|
13
|
+
rescue LoadError => ex
|
14
|
+
pp ex.message
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
begin
|
19
|
+
require "dbrelation"
|
20
|
+
rescue LoadError => ex
|
21
|
+
pp ex.message
|
22
|
+
end
|
23
|
+
|
24
|
+
# DBセットアップクラス
|
25
|
+
if File.exist?(Arxutils_Sqlite3::DEST_DBSETUP_FILE)
|
26
|
+
dbsetup_file = File.join("./" , Arxutils_Sqlite3::DEST_DBSETUP_FILE_2.to_s)
|
27
|
+
begin
|
28
|
+
require dbsetup_file
|
29
|
+
rescue LoadError => ex
|
30
|
+
pp ex.message
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
def prepare_for_migrate(env, db_scheme_ary, opts)
|
36
|
+
log_fname = Arxutils_Sqlite3::Dbutil::Dbconnect.make_log_file_name(
|
37
|
+
opts["dbconfig"], Arxutils_Sqlite3::Dbutil::DATABASELOG)
|
38
|
+
dbconnect = Arxutils_Sqlite3::Dbutil::Dbconnect.new(
|
39
|
+
Arxutils_Sqlite3::Dbutil::DB_DIR,
|
40
|
+
Arxutils_Sqlite3::Dbutil::MIGRATE_DIR,
|
41
|
+
Arxutils_Sqlite3::Dbutil::CONFIG_DIR,
|
42
|
+
opts["dbconfig"],
|
43
|
+
env,
|
44
|
+
log_fname,
|
45
|
+
opts
|
46
|
+
)
|
47
|
+
if opts["cmd"] != "i"
|
48
|
+
Arxutils_Sqlite3::Migrate.migrate(dbconnect, db_scheme_ary, opts["migrate_cmd"], opts[:relation], opts)
|
49
|
+
end
|
50
|
+
dbconnect
|
51
|
+
end
|
52
|
+
|
53
|
+
banner = "Usage: bundle exec ruby exe/makemigrate --cmd=(s|c|m|i|d) -y yaml_file --klass=class"
|
54
|
+
|
55
|
+
opts = @opts ? @opts : {}
|
56
|
+
|
57
|
+
opts["dbconfig"] = Arxutils_Sqlite3::Dbutil::DBCONFIG_SQLITE3
|
58
|
+
|
59
|
+
Simpleoptparse::Simpleoptparse.parse(ARGV, opts, banner, Arxutils_Sqlite3::VERSION, nil) do |parser|
|
60
|
+
parser.on("--cmd X", %w[s c m i d]) { |x| opts["cmd"] = x }
|
61
|
+
parser.on("-y yaml_file", "--yaml yaml_file") { |x| opts["yaml"] = x }
|
62
|
+
parser.on("--klass klass") { |x| opts["klass"] = x }
|
63
|
+
end
|
64
|
+
|
65
|
+
env = ENV.fetch("ENV", nil)
|
66
|
+
env ||= "production"
|
67
|
+
|
68
|
+
case opts["cmd"]
|
69
|
+
when "s"
|
70
|
+
FileUtils.cp(Arxutils_Sqlite3::DB_SCHEME_FILE, Arxutils_Sqlite3::CONFIG_DIR )
|
71
|
+
if opts["klass"].nil? || opts["klass"].strip == ""
|
72
|
+
puts banner
|
73
|
+
exit 10
|
74
|
+
end
|
75
|
+
|
76
|
+
scope = Object.new
|
77
|
+
hash = {klass: opts["klass"]}
|
78
|
+
result_content = Ykutils::Erubyx.erubi_render_with_template_file(Arxutils_Sqlite3::OPTS_FILE, scope, hash)
|
79
|
+
|
80
|
+
File.open(Arxutils_Sqlite3::DEST_OPTS_FILE, "w"){|file|
|
81
|
+
file.write(result_content)
|
82
|
+
}
|
83
|
+
db_scheme_ary = nil
|
84
|
+
|
85
|
+
when "c"
|
86
|
+
opts["migrate_cmd"] = "makeconfig"
|
87
|
+
#opts["remigrate"] = false
|
88
|
+
db_scheme_ary = nil
|
89
|
+
|
90
|
+
prepare_for_migrate(env, db_scheme_ary, opts)
|
91
|
+
when "m"
|
92
|
+
if opts["yaml"].nil? || opts["yaml"].strip == ""
|
93
|
+
puts banner
|
94
|
+
exit 20
|
95
|
+
end
|
96
|
+
|
97
|
+
opts["migrate_cmd"] = "migrate"
|
98
|
+
db_scheme_ary = YAML.load_file( opts["yaml"] )
|
99
|
+
|
100
|
+
scope = Object.new
|
101
|
+
# p "==="
|
102
|
+
# p opts
|
103
|
+
# p "=== END"
|
104
|
+
|
105
|
+
hash0 = {module_name: opts[:relation][:module].join("::")}
|
106
|
+
hash = db_scheme_ary[0].merge( hash0 )
|
107
|
+
result_content = Ykutils::Erubyx.erubi_render_with_template_file(Arxutils_Sqlite3::DBSETUP_FILE, scope, hash)
|
108
|
+
|
109
|
+
File.open(Arxutils_Sqlite3::DEST_DBSETUP_FILE, "w"){|file|
|
110
|
+
file.write(result_content)
|
111
|
+
}
|
112
|
+
# FileUtils.cp(Arxutils_Sqlite3::DBSETUP_FILE, Arxutils_Sqlite3::CONFIG_DIR )
|
113
|
+
|
114
|
+
# p "cmd=m"
|
115
|
+
dbconnect = prepare_for_migrate(env, db_scheme_ary, opts)
|
116
|
+
dbconnect.connect
|
117
|
+
#db_migrate_dir = File.join(Dbutil::DB_DIR, Dbutil::MIGRATE_DIR)
|
118
|
+
ActiveRecord::MigrationContext.new(dbconnect.migrate_dir, ActiveRecord::SchemaMigration).up
|
119
|
+
|
120
|
+
when "i"
|
121
|
+
#db_scheme_ary = YAML.load_file( opts["yaml"] )
|
122
|
+
db_scheme_ary = nil
|
123
|
+
dbconnect = prepare_for_migrate(env, db_scheme_ary, opts)
|
124
|
+
connect_time = dbconnect.connect
|
125
|
+
|
126
|
+
Dbsetup.new(connect_time)
|
127
|
+
|
128
|
+
when "d"
|
129
|
+
opts["migrate_cmd"] = "delete"
|
130
|
+
db_scheme_ary = nil
|
131
|
+
dbconnect = prepare_for_migrate(env, db_scheme_ary, opts)
|
132
|
+
else
|
133
|
+
raise
|
134
|
+
end
|
data/bin/console
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "bundler/setup"
|
5
|
+
require "arxutils_sqlite3"
|
6
|
+
|
7
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
+
# with your gem easier. You can also use a different console, if you like.
|
9
|
+
|
10
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
+
# require "pry"
|
12
|
+
# Pry.start
|
13
|
+
|
14
|
+
require "irb"
|
15
|
+
IRB.start(__FILE__)
|
data/bin/makemigrate
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "arxutils_sqlite3"
|
3
|
+
require "simpleoptparse"
|
4
|
+
|
5
|
+
require "yaml"
|
6
|
+
|
7
|
+
AR_VERSION = 6.0
|
8
|
+
|
9
|
+
opts = {
|
10
|
+
db_dir: Arxutils_Sqlite3::Dbutil::DB_DIR,
|
11
|
+
relation: {
|
12
|
+
module: %w[Enop Dbutil],
|
13
|
+
filename: "dbrelation.rb",
|
14
|
+
dir: "lib/arxutils_sqlite3/dbutil"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
banner = "Usage: bundle exec ruby exe/makemigrate (-c|-r) (--mysql|--sqlite3) -s yaml_file"
|
18
|
+
|
19
|
+
Simpleoptparse::Simpleoptparse.parse(ARGV, opts, banner, Arxutils_Sqlite3::VERSION, nil) do |parser|
|
20
|
+
parser.on("-c", "--makeconfig") { |_x| opts["makeconfig"] = true }
|
21
|
+
parser.on("-r", "--remigrate") { |_x| opts["remigrate"] = true }
|
22
|
+
parser.on("-s yaml_file", "--setting yaml_file") { |file| opts["setting"] = file }
|
23
|
+
parser.on("--mysql") { |_x| opts["dbconfig"] = Arxutils_Sqlite3::Dbutil::DBCONFIG_MYSQL }
|
24
|
+
parser.on("--sqlite3") { |_x| opts["dbconfig"] = Arxutils_Sqlite3::Dbutil::DBCONFIG_SQLITE3 }
|
25
|
+
end
|
26
|
+
|
27
|
+
db_scheme_yaml_file = opts["setting"]
|
28
|
+
|
29
|
+
if db_scheme_yaml_file.nil?
|
30
|
+
puts banner
|
31
|
+
exit 10
|
32
|
+
end
|
33
|
+
|
34
|
+
opts["makeconfig"] = !opts["makeconfig"].nil?
|
35
|
+
opts["remigrate"] = !opts["remigrate"].nil?
|
36
|
+
|
37
|
+
db_scheme_ary = YAML.load_file(db_scheme_yaml_file)
|
38
|
+
#pp db_scheme_ary
|
39
|
+
|
40
|
+
opts["dbconfig"] = Arxutils_Sqlite3::Dbutil::DBCONFIG_SQLITE3 unless opts["dbconfig"]
|
41
|
+
|
42
|
+
env = ENV.fetch("ENV", nil)
|
43
|
+
# env ||= "development"
|
44
|
+
env ||= "production"
|
45
|
+
|
46
|
+
Arxutils_Sqlite3::Migrate.migrate(
|
47
|
+
Arxutils_Sqlite3::Dbutil::DB_DIR,
|
48
|
+
Arxutils_Sqlite3::Dbutil::CONFIG_DIR,
|
49
|
+
Arxutils_Sqlite3::Dbutil::DATABASELOG,
|
50
|
+
Arxutils_Sqlite3::Dbutil::MIGRATE_DIR,
|
51
|
+
env,
|
52
|
+
db_scheme_ary,
|
53
|
+
opts["dbconfig"],
|
54
|
+
opts
|
55
|
+
)
|
data/bin/setup
ADDED
data/bin/setupx.bat
ADDED
data/bin/setupx.rb
ADDED
data/config/.gitignore
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require "erb"
|
2
|
+
require "ykutils"
|
3
|
+
module Arxutils_Sqlite3
|
4
|
+
# スキーマ設定に基づき、テンプレートから変換する
|
5
|
+
class Arx
|
6
|
+
@field = nil
|
7
|
+
# スキーマ設定配列を、テンプレートで参照可能になるように展開する
|
8
|
+
def initialize(data, fname)
|
9
|
+
# テンプレートファイルへのパス
|
10
|
+
@fname = fname
|
11
|
+
|
12
|
+
# スキーマ設定配列
|
13
|
+
# スキーマ設定とは以下をキーにもつハッシュである
|
14
|
+
# :flist
|
15
|
+
# :classname
|
16
|
+
# :classname_downcase
|
17
|
+
# :items
|
18
|
+
# フィールド名, 型, null許容 の配列
|
19
|
+
# :plural
|
20
|
+
# :relation
|
21
|
+
@data = data
|
22
|
+
|
23
|
+
# スキーマ設定の:itemsの値を展開後格納するためのStructクラス
|
24
|
+
#@field ||= Struct.new("Field", :name, :type, :null)
|
25
|
+
@field ||= Struct.new(:name, :type, :null)
|
26
|
+
|
27
|
+
@data[:ary] = if @data[:items]
|
28
|
+
@data[:items].map { |x| @field.new(*x) }
|
29
|
+
else
|
30
|
+
[]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# テンプレートファイルを元にした変換結果を返す
|
35
|
+
def create
|
36
|
+
scope = Object.new
|
37
|
+
scope.instance_variable_set(:@data , @data)
|
38
|
+
Ykutils::Erubyx.erubi_render_with_template_file(@fname, scope)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
#! -*- encoding : UTF-8 -*-
|
2
|
+
|
3
|
+
require "fileutils"
|
4
|
+
require "yaml"
|
5
|
+
require "active_record"
|
6
|
+
require "sqlite3"
|
7
|
+
require "ykxutils"
|
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
|
+
module Arxutils_Sqlite3
|
32
|
+
module Dbutil
|
33
|
+
# DB操作用ユーティリティクラス
|
34
|
+
class Dbconnect
|
35
|
+
# 生成するDB構成情報ファイルパス
|
36
|
+
attr_accessor :dbconfig_dest_path
|
37
|
+
# 参照用DB構成情報ファイル名
|
38
|
+
attr_accessor :dbconfig_src_fname
|
39
|
+
# migrate用スクリプトの出力先ディレクトリ名
|
40
|
+
attr_accessor :migrate_dir, :dest_config_dir, :db_dir
|
41
|
+
|
42
|
+
def self.make_log_file_name(dbconfig, log_file_base_name)
|
43
|
+
format("%s-%s", dbconfig.to_s, log_file_base_name)
|
44
|
+
end
|
45
|
+
|
46
|
+
# DB接続までの初期化に必要なディレクトリの確認、作成
|
47
|
+
def initialize(db_dir, migrate_base_dir, src_config_dir, dbconfig, env, log_fname, opts)
|
48
|
+
# 接続開始時刻
|
49
|
+
@connect_time = nil
|
50
|
+
# DB格納ディレクトリ名
|
51
|
+
@db_dir = db_dir
|
52
|
+
# DB構成ファイルのテンプレート格納ディレクトリ
|
53
|
+
@src_config_dir = src_config_dir
|
54
|
+
# DB構成ファイルの出力先ディレクトリ
|
55
|
+
@dest_config_dir = CONFIG_DIR
|
56
|
+
# DB構成ファイル名
|
57
|
+
@dbconfig_dest_fname = "#{dbconfig}.yml"
|
58
|
+
# DB構成ファイル用テンプレートファイル名
|
59
|
+
@dbconfig_src_fname = "#{dbconfig}.tmpl"
|
60
|
+
# DB構成ファイルへのパス
|
61
|
+
@dbconfig_dest_path = File.join(@dest_config_dir, @dbconfig_dest_fname)
|
62
|
+
# DB構成ファイル用テンプレートファイルへのパス
|
63
|
+
@dbconfig_src_path = File.join(@src_config_dir, @dbconfig_src_fname)
|
64
|
+
# 環境の指定
|
65
|
+
@env = env
|
66
|
+
# DB用ログファイル名
|
67
|
+
@log_fname = log_fname
|
68
|
+
|
69
|
+
if @db_dir && @log_fname
|
70
|
+
# DB用ログファイルへのパス
|
71
|
+
@log_path = File.join(@db_dir, @log_fname)
|
72
|
+
# migrate用スクリプト格納ディレクトリへのパス
|
73
|
+
@migrate_dir = File.join(@db_dir, migrate_base_dir)
|
74
|
+
end
|
75
|
+
FileUtils.mkdir_p(@db_dir) if @db_dir
|
76
|
+
FileUtils.mkdir_p(@migrate_dir) if @migrate_dir
|
77
|
+
FileUtils.mkdir_p(@dest_config_dir)
|
78
|
+
end
|
79
|
+
|
80
|
+
# DB接続、DB用ログファイルの設定
|
81
|
+
def connect
|
82
|
+
unless @connect_time
|
83
|
+
begin
|
84
|
+
dbconfig = Ykxutils.yaml_load_file_compati(@dbconfig_dest_path)
|
85
|
+
ActiveRecord::Base.establish_connection(dbconfig[@env])
|
86
|
+
ActiveRecord::Base.logger = Logger.new(@log_path)
|
87
|
+
@connect_time = DateTime.now.new_offset
|
88
|
+
rescue => ex
|
89
|
+
end
|
90
|
+
end
|
91
|
+
@connect_time
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "arxutils_sqlite3/dbutil/dbinit"
|
2
|
+
require "date"
|
3
|
+
require "pp"
|
4
|
+
|
5
|
+
module Arxutils_Sqlite3
|
6
|
+
module Dbutil
|
7
|
+
# DB接続時に、現在日時も取得したい場合のユーティリティクラス
|
8
|
+
class DbMgr
|
9
|
+
# DB接続の状態を示す
|
10
|
+
@ret = nil
|
11
|
+
# DB接続、現在日時取得
|
12
|
+
def self.setup(dbinit)
|
13
|
+
unless @ret
|
14
|
+
begin
|
15
|
+
dbinit.setup
|
16
|
+
@ret = DateTime.now.new_offset
|
17
|
+
rescue StandardError => e
|
18
|
+
pp e.class
|
19
|
+
pp e.message
|
20
|
+
pp e.backtrace
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
@ret
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative "dbutil/dbconnect"
|
2
|
+
#require_relative "dbutil/dbmgr"
|
3
|
+
|
4
|
+
module Arxutils_Sqlite3
|
5
|
+
# DB操作用ユーティリティクラス
|
6
|
+
module Dbutil
|
7
|
+
# DB格納ディレクトリ名
|
8
|
+
DB_DIR = "db".freeze
|
9
|
+
# migrate用スクリプト格納ディレクトリ名
|
10
|
+
MIGRATE_DIR = "migrate".freeze
|
11
|
+
# SQLITE3用DB構成名
|
12
|
+
DBCONFIG_SQLITE3 = "sqlite3".freeze
|
13
|
+
# MYSQL用DB構成名
|
14
|
+
DBCONFIG_MYSQL = "mysql".freeze
|
15
|
+
# DB構成格納用ディレクトリ名
|
16
|
+
CONFIG_DIR = "config".freeze
|
17
|
+
# データベース用ログファイル名
|
18
|
+
DATABASELOG = "database.log".freeze
|
19
|
+
|
20
|
+
# DB接続までの初期化を行う
|
21
|
+
end
|
22
|
+
end
|