mysql2postgres 0.3.3 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,20 +1,21 @@
1
1
  mysql:
2
- hostname: localhost
2
+ hostname: 127.0.0.1
3
3
  port: 3306
4
- socket: /tmp/mysql.sock
5
- username: somename
6
- password: secretpassword
4
+ username: root
5
+ password: BestPasswordEver
7
6
  database: somename
7
+ encoding: utf8mb4
8
8
 
9
-
10
- destination:
11
- # if file is given, output goes to file, else postgres
12
- file: somefile
9
+ # if MYSQL2POSTGRES_ENV and RAILS_ENV is missing, development is used!
10
+ destinations:
11
+ development:
12
+ adapter: file
13
+ filename: /tmp/exported_file.sql
13
14
  test:
14
15
  hostname: localhost
15
16
  port: 5432
16
- username: somename
17
- password: secretpassword
17
+ username: postgres
18
+ password: postgres
18
19
  database: somename
19
20
 
20
21
  # if tables is given, only the listed tables will be converted. leave empty to convert all tables.
@@ -29,8 +30,10 @@ exclude_tables:
29
30
  - table5
30
31
  - table6
31
32
 
33
+ dump_file_directory: /tmp
34
+
32
35
  # if suppress_data is true, only the schema definition will be exported/migrated, and not the data
33
- suppress_data: true
36
+ suppress_data: false
34
37
 
35
38
  # if suppress_ddl is true, only the data will be exported/imported, and not the schema
36
39
  suppress_ddl: false
@@ -0,0 +1,16 @@
1
+ mysql:
2
+ hostname: localhost
3
+ username: root
4
+ password: BestPasswordEver
5
+ database: somename
6
+
7
+ # if MYSQL2POSTGRES_ENV and RAILS_ENV is missing, development is used!
8
+ destinations:
9
+ test:
10
+ hostname: localhost
11
+ port: 5432
12
+ username: somename
13
+ password: secretpassword
14
+ database: somename
15
+
16
+ # all options are false as default
@@ -0,0 +1,31 @@
1
+ mysql:
2
+ hostname: 127.0.0.1
3
+ port: 3306
4
+ username: root
5
+ password: BestPasswordEver
6
+ database: somename
7
+ encoding: utf8mb4
8
+
9
+ # if MYSQL2POSTGRES_ENV and RAILS_ENV is missing, development is used!
10
+ destinations:
11
+ test:
12
+ adapter: file
13
+ filename: /tmp/exported_file.sql
14
+
15
+ # if tables is given, only the listed tables will be converted. leave empty to convert all tables.
16
+ tables:
17
+ - table1
18
+ - table2
19
+ - table3
20
+ - table4
21
+
22
+ dump_file_directory: /tmp
23
+
24
+ # if suppress_data is true, only the schema definition will be exported/migrated, and not the data
25
+ suppress_data: false
26
+
27
+ # if suppress_ddl is true, only the data will be exported/imported, and not the schema
28
+ suppress_ddl: false
29
+
30
+ # if force_truncate is true, forces a table truncate before table loading
31
+ force_truncate: false
@@ -6,18 +6,25 @@ class ConvertToDbTest < Test::Unit::TestCase
6
6
  class << self
7
7
  def startup
8
8
  seed_test_database
9
- @options = get_test_config_by_label :localmysql_to_db_convert_all
10
- @mysql2postgres = Mysql2postgres.new @options
11
- @mysql2postgres.convert
12
- @mysql2postgres.writer.open
13
9
  end
10
+ end
14
11
 
15
- def shutdown
16
- @@mysql2postgres.writer.close
17
- end
12
+ def setup
13
+ @mysql2postgres = instance_from_file
14
+ @options = @mysql2postgres.options
15
+ @options[:force_truncate] = true
16
+ @options.delete :tables # convert all available tables
17
+
18
+ @mysql2postgres.convert
19
+ @mysql2postgres.writer.connection.open
20
+ end
21
+
22
+ def teardown
23
+ @mysql2postgres&.writer&.connection&.finish
18
24
  end
19
25
 
20
26
  def test_table_creation
21
- assert_true @mysql2postgres.writer.exists?('numeric_types_basics')
27
+ tables = @mysql2postgres.writer.connection.tables
28
+ assert tables.include?('numeric_types_basics')
22
29
  end
23
30
  end
@@ -3,18 +3,22 @@
3
3
  require File.expand_path '../test_helper', __dir__
4
4
 
5
5
  class ConvertToFileTest < Test::Unit::TestCase
6
+ attr_reader :content
7
+
6
8
  class << self
7
9
  def startup
8
- seed_test_database
9
- @options = get_test_config_by_label :localmysql_to_file_convert_all
10
- @mysql2postgres = Mysql2postgres.new @options
11
- @mysql2postgres.convert
12
- @content = File.read @mysql2postgres.options[:destfile]
10
+ seed_test_database option_file: 'config_to_file'
13
11
  end
14
12
  end
15
13
 
16
- def content
17
- @@content
14
+ def setup
15
+ @mysql2postgres = instance_from_file 'config_to_file'
16
+ @options = @mysql2postgres.options
17
+ @options[:force_truncate] = true
18
+ @options.delete :tables # convert all available tables
19
+
20
+ @mysql2postgres.convert
21
+ @content = File.read @mysql2postgres.options[:destination][:filename]
18
22
  end
19
23
 
20
24
  def test_table_creation
@@ -23,46 +27,57 @@ class ConvertToFileTest < Test::Unit::TestCase
23
27
  end
24
28
 
25
29
  def test_basic_numerics_tinyint
26
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_tinyint" smallint,.*\)', Regexp::MULTILINE).match(content)
30
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_tinyint" smallint,.*\)', Regexp::MULTILINE)
31
+ .match(content)
27
32
  end
28
33
 
29
34
  def test_basic_numerics_smallint
30
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_smallint" integer,.*\)', Regexp::MULTILINE).match(content)
35
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_smallint" integer,.*\)', Regexp::MULTILINE)
36
+ .match(content)
31
37
  end
32
38
 
33
39
  def test_basic_numerics_mediumint
34
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_mediumint" integer,.*\)', Regexp::MULTILINE).match(content)
40
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_mediumint" integer,.*\)', Regexp::MULTILINE)
41
+ .match(content)
35
42
  end
36
43
 
37
44
  def test_basic_numerics_int
38
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_int" integer,.*\)', Regexp::MULTILINE).match(content)
45
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_int" integer,.*\)', Regexp::MULTILINE)
46
+ .match(content)
39
47
  end
40
48
 
41
49
  def test_basic_numerics_integer
42
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_integer" integer,.*\)', Regexp::MULTILINE).match(content)
50
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_integer" integer,.*\)', Regexp::MULTILINE)
51
+ .match(content)
43
52
  end
44
53
 
45
54
  def test_basic_numerics_bigint
46
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_bigint" bigint,.*\)', Regexp::MULTILINE).match(content)
55
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_bigint" bigint,.*\)', Regexp::MULTILINE)
56
+ .match(content)
47
57
  end
48
58
 
49
59
  def test_basic_numerics_real
50
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_real" double precision,.*\)', Regexp::MULTILINE).match(content)
60
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_real" double precision,.*\)', Regexp::MULTILINE)
61
+ .match(content)
51
62
  end
52
63
 
53
64
  def test_basic_numerics_double
54
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_double" double precision,.*\)', Regexp::MULTILINE).match(content)
65
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_double" double precision,.*\)', Regexp::MULTILINE)
66
+ .match(content)
55
67
  end
56
68
 
57
69
  def test_basic_numerics_float
58
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_float" double precision,.*\)', Regexp::MULTILINE).match(content)
70
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_float" double precision,.*\)', Regexp::MULTILINE)
71
+ .match(content)
59
72
  end
60
73
 
61
74
  def test_basic_numerics_decimal
62
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_decimal" numeric\(10, 0\),.*\)', Regexp::MULTILINE).match(content)
75
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_decimal" numeric\(10, 0\),.*\)', Regexp::MULTILINE)
76
+ .match(content)
63
77
  end
64
78
 
65
79
  def test_basic_numerics_numeric
66
- assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_numeric" numeric\(10, 0\)[\w\n]*\)', Regexp::MULTILINE).match(content)
80
+ assert_not_nil Regexp.new('CREATE TABLE "numeric_types_basics".*"f_numeric" numeric\(10, 0\)[\w\n]*\)', Regexp::MULTILINE)
81
+ .match(content)
67
82
  end
68
83
  end
@@ -5,15 +5,22 @@ require File.expand_path '../test_helper', __dir__
5
5
  class ConverterTest < Test::Unit::TestCase
6
6
  class << self
7
7
  def startup
8
- seed_test_database
9
- @options = get_test_config_by_label :localmysql_to_file_convert_nothing
8
+ seed_test_database option_file: 'config_to_file'
10
9
  end
11
10
  end
12
11
 
12
+ def setup
13
+ @options = options_from_file 'config_to_file'
14
+ @options[:suppress_data] = true
15
+ @options[:suppress_ddl] = true
16
+
17
+ @destfile = get_temp_file 'mysql2postgres_test'
18
+ end
19
+
13
20
  def test_new_converter
14
21
  assert_nothing_raised do
15
22
  reader = get_test_reader @options
16
- writer = get_test_file_writer @options
23
+ writer = Mysql2postgres::PostgresFileWriter.new @destfile, @options[:destination]
17
24
  converter = Mysql2postgres::Converter.new reader, writer, @options
18
25
  assert_equal 0, converter.convert
19
26
  end
@@ -2,23 +2,26 @@
2
2
 
3
3
  require File.expand_path '../test_helper', __dir__
4
4
 
5
- class MysqlReaderBaseTest < Test::Unit::TestCase
5
+ class MysqlReaderConnectionTest < Test::Unit::TestCase
6
6
  class << self
7
7
  def startup
8
- seed_test_database
9
- @options = get_test_config_by_label :localmysql_to_file_convert_nothing
8
+ seed_test_database option_file: 'config_to_file'
10
9
  end
11
10
  end
12
11
 
12
+ def setup
13
+ @options = options_from_file 'config_to_file'
14
+ end
15
+
13
16
  def test_mysql_connection
14
17
  assert_nothing_raised do
15
- mysql2postgres::MysqlReader.new @options
18
+ Mysql2postgres::MysqlReader.new @options
16
19
  end
17
20
  end
18
21
 
19
22
  def test_mysql_reconnect
20
23
  assert_nothing_raised do
21
- reader = mysql2postgres::MysqlReader.new @options
24
+ reader = Mysql2postgres::MysqlReader.new @options
22
25
  reader.reconnect
23
26
  end
24
27
  end
@@ -27,7 +30,7 @@ class MysqlReaderBaseTest < Test::Unit::TestCase
27
30
  assert_nothing_raised do
28
31
  @options[:mysql][:port] = ''
29
32
  @options[:mysql][:socket] = ''
30
- mysql2postgres::MysqlReader.new @options
33
+ Mysql2postgres::MysqlReader.new @options
31
34
  end
32
35
  end
33
36
  end
@@ -5,12 +5,15 @@ require File.expand_path '../test_helper', __dir__
5
5
  class MysqlReaderTest < Test::Unit::TestCase
6
6
  class << self
7
7
  def startup
8
- seed_test_database
9
- @options = get_test_config_by_label :localmysql_to_file_convert_nothing
10
- @reader = get_test_reader @options
8
+ seed_test_database option_file: 'config_to_file'
11
9
  end
12
10
  end
13
11
 
12
+ def setup
13
+ @options = options_from_file 'config_to_file'
14
+ @reader = get_test_reader @options
15
+ end
16
+
14
17
  def test_db_connection
15
18
  assert_nothing_raised do
16
19
  @reader.mysql.ping
@@ -26,7 +29,7 @@ class MysqlReaderTest < Test::Unit::TestCase
26
29
  def test_paginated_read
27
30
  expected_rows = 3
28
31
  page_size = 2
29
- expected_pages = (1.0 * expected_rows / page_size).ceil
32
+ # expected_pages = (1.0 * expected_rows / page_size).ceil
30
33
 
31
34
  row_count = my_row_count = 0
32
35
  table = @reader.tables.find { |t| t.name == 'numeric_types_basics' }
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path '../test_helper', __dir__
4
+
5
+ class PostgresDbWriterTest < Test::Unit::TestCase
6
+ class << self
7
+ def startup
8
+ seed_test_database
9
+ end
10
+ end
11
+
12
+ def setup
13
+ @options = options_from_file
14
+ @options[:suppress_data] = true
15
+ @options[:suppress_ddl] = true
16
+ end
17
+
18
+ def test_pg_connection
19
+ assert_nothing_raised do
20
+ Mysql2postgres::PostgresDbWriter.new Tempfile.new('mysql2postgres_test_').path,
21
+ @options[:destination]
22
+ end
23
+ end
24
+ end
data/test/test_helper.rb CHANGED
@@ -4,47 +4,37 @@ require 'rubygems'
4
4
  require 'test/unit'
5
5
  require 'debug' if ENV.fetch('ENABLE_DEBUG', nil) == '1'
6
6
 
7
- require File.expand_path('../lib/mysql2postgres/version', __dir__)
8
- require File.expand_path('../lib/mysql2postgres/converter', __dir__)
9
- require File.expand_path('../lib/mysql2postgres/mysql_reader', __dir__)
10
- require File.expand_path('../lib/mysql2postgres/writer', __dir__)
11
- require File.expand_path('../lib/mysql2postgres/postgres_writer', __dir__)
12
- require File.expand_path('../lib/mysql2postgres/postgres_file_writer', __dir__)
13
- require File.expand_path('../lib/mysql2postgres/postgres_db_writer', __dir__)
7
+ require File.expand_path('lib/mysql2postgres')
14
8
 
15
- def seed_test_database
16
- options = get_test_config_by_label :localmysql_to_file_convert_nothing
17
- seedfilepath = "#{__dir__}/../fixtures/seed_integration_tests.sql"
18
- rc = system "mysql -u#{options[:mysql][:username]} #{options[:mysql][:database]} < #{seedfilepath}"
19
- raise StandardError unless rc
9
+ def load_yaml_file(file = 'config_all_options')
10
+ YAML.load_file "#{__dir__}/fixtures/#{file}.yml"
11
+ end
20
12
 
21
- true
22
- rescue StandardError
23
- raise 'Failed to seed integration test db. See README for setup requirements.'
13
+ def instance_from_file(file = 'config_all_options')
14
+ Mysql2postgres.new load_yaml_file(file)
24
15
  end
25
16
 
26
- def get_test_reader(options)
27
- require 'mysql2postgres/mysql_reader'
28
- mysql2postgres::MysqlReader.new options
29
- rescue StandardError
30
- raise 'Failed to initialize integration test db. See README for setup requirements.'
17
+ def options_from_file(file = 'config_all_options')
18
+ instance_from_file(file).options
31
19
  end
32
20
 
33
- def get_test_file_writer(options)
34
- require 'mysql2postgres/postgres_file_writer'
35
- mysql2postgres::PostgresFileWriter.new options[:destfile]
36
- rescue StandardError => e
37
- puts e.inspect
38
- raise "Failed to initialize file writer from #{options.inspect}. See README for setup requirements."
21
+ def seed_test_database(option_file: 'config_all_options', sql_file: 'seed_integration_tests.sql')
22
+ options = options_from_file option_file
23
+ seedfilepath = File.expand_path "test/fixtures/#{sql_file}"
24
+ system 'mysql ' \
25
+ "--host #{options[:mysql][:hostname]} " \
26
+ "--port #{options[:mysql][:port]} " \
27
+ "-u#{options[:mysql][:username]} " \
28
+ "-p#{options[:mysql][:password]} " \
29
+ "#{options[:mysql][:database]} < #{seedfilepath}", exception: true
30
+ rescue StandardError
31
+ raise 'Failed to seed integration test db. See README for setup requirements.'
39
32
  end
40
33
 
41
- def get_test_converter(options)
42
- require 'mysql2postgres/converter'
43
- reader = get_test_reader options
44
- writer = get_test_file_writer options
45
- mysql2postgres::Converter.new reader, writer, options
34
+ def get_test_reader(options)
35
+ Mysql2postgres::MysqlReader.new options
46
36
  rescue StandardError
47
- raise "Failed to initialize converter from #{options.inspect}. See README for setup requirements."
37
+ raise 'Failed to initialize integration test db. See README for setup requirements.'
48
38
  end
49
39
 
50
40
  def get_temp_file(basename)
@@ -54,38 +44,3 @@ def get_temp_file(basename)
54
44
  f.close!
55
45
  path
56
46
  end
57
-
58
- def get_new_test_config(include_tables: [], exclude_tables: [], to_file: false,
59
- suppress_data: false, suppress_ddl: false, force_truncate: false)
60
-
61
- to_filename = to_file ? get_temp_file(['mysql2postgres_tmp_output_', '.yml']) : nil
62
- configtext = Mysql2postgres::Config.template to_filename, include_tables, exclude_tables, suppress_data, suppress_ddl, force_truncate
63
- configfile = get_temp_file 'mysql2postgres_tmp_config'
64
- File.open(configfile, 'w:UTF-8') { |f| f.write(configtext) }
65
- yaml = YAML.load_file configfile
66
- Mysql2postgres::ConfigBase.new yaml
67
- rescue StandardError
68
- raise "Failed to initialize options from #{configfile}. See README for setup requirements."
69
- end
70
-
71
- def get_test_config_by_label(name)
72
- case name
73
- when :localmysql_to_file_convert_nothing
74
- get_new_test_config to_file: true,
75
- tables: ['unobtainium'],
76
- exclude_tables: ['kryptonite'],
77
- suppress_data: true,
78
- suppress_ddl: true
79
- when :localmysql_to_file_convert_all
80
- get_new_test_config to_file: true
81
- when :localmysql_to_db_convert_all
82
- get_new_test_config
83
- when :localmysql_to_db_convert_nothing
84
- get_new_test_config tables: ['unobtainium'],
85
- exclude_tables: ['kryptonite'],
86
- suppress_data: true,
87
- suppress_ddl: true
88
- else
89
- raise "Invalid label: #{name}"
90
- end
91
- end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path '../test_helper', __dir__
4
+
5
+ class MysqlTest < Test::Unit::TestCase
6
+ def test_mysql_charset
7
+ charset = ::Mysql::Charset.by_number 192
8
+ assert_equal 'utf8mb3', charset.name
9
+ end
10
+ end
@@ -4,14 +4,11 @@ require File.expand_path '../test_helper', __dir__
4
4
  require 'yaml'
5
5
 
6
6
  class SettingTest < Test::Unit::TestCase
7
- attr_reader :config_all_opts
8
-
9
- def setup
10
- @config_all_opts = YAML.load_file "#{__dir__}/../fixtures/config_all_options.yml"
11
- end
12
-
13
7
  def test_options_loaded
14
- instance = Mysql2postgres.new @config_all_opts
15
- assert_not_nil instance.options
8
+ options = options_from_file
9
+
10
+ assert_equal false, options[:suppress_data]
11
+ assert_equal 'postgres', options[:destination][:username]
12
+ assert_equal 'somename', options[:destination][:database]
16
13
  end
17
14
  end
@@ -15,10 +15,12 @@ class PostgresFileWriterTest < Test::Unit::TestCase
15
15
  File.delete destfile
16
16
  end
17
17
 
18
- def test_basic_write
19
- writer = Mysql2postgres::PostgresFileWriter.new destfile
18
+ def test_file_writer
19
+ destination = { filename: '/tmp/test.sql' }
20
+ writer = Mysql2postgres::PostgresFileWriter.new @destfile, destination
20
21
  writer.close
21
22
  content = File.read destfile
23
+
22
24
  assert_not_nil content.match("SET client_encoding = 'UTF8'")
23
25
  assert_nil content.match('unobtanium')
24
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mysql2postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Lapshin <max@maxidoors.ru>
@@ -24,22 +24,8 @@ authors:
24
24
  autorequire:
25
25
  bindir: bin
26
26
  cert_chain: []
27
- date: 2022-07-29 00:00:00.000000000 Z
27
+ date: 2023-10-14 00:00:00.000000000 Z
28
28
  dependencies:
29
- - !ruby/object:Gem::Dependency
30
- name: rake
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: '0'
36
- type: :runtime
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: '0'
43
29
  - !ruby/object:Gem::Dependency
44
30
  name: pg
45
31
  requirement: !ruby/object:Gem::Requirement
@@ -55,19 +41,19 @@ dependencies:
55
41
  - !ruby/object:Gem::Version
56
42
  version: 1.2.2
57
43
  - !ruby/object:Gem::Dependency
58
- name: postgres-pr
44
+ name: rake
59
45
  requirement: !ruby/object:Gem::Requirement
60
46
  requirements:
61
- - - "~>"
47
+ - - ">="
62
48
  - !ruby/object:Gem::Version
63
- version: '0.7'
49
+ version: '0'
64
50
  type: :runtime
65
51
  prerelease: false
66
52
  version_requirements: !ruby/object:Gem::Requirement
67
53
  requirements:
68
- - - "~>"
54
+ - - ">="
69
55
  - !ruby/object:Gem::Version
70
- version: '0.7'
56
+ version: '0'
71
57
  - !ruby/object:Gem::Dependency
72
58
  name: ruby-mysql
73
59
  requirement: !ruby/object:Gem::Requirement
@@ -82,62 +68,6 @@ dependencies:
82
68
  - - "~>"
83
69
  - !ruby/object:Gem::Version
84
70
  version: '3.0'
85
- - !ruby/object:Gem::Dependency
86
- name: debug
87
- requirement: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: '0'
92
- type: :development
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- version: '0'
99
- - !ruby/object:Gem::Dependency
100
- name: rubocop-minitest
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- version: '0'
106
- type: :development
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: '0'
113
- - !ruby/object:Gem::Dependency
114
- name: rubocop-performance
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: '0'
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: '0'
127
- - !ruby/object:Gem::Dependency
128
- name: test-unit
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: 3.5.3
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: 3.5.3
141
71
  description: Translates MySQL -> PostgreSQL
142
72
  email: a.meindl@alphanodes.com
143
73
  executables:
@@ -158,20 +88,22 @@ files:
158
88
  - lib/mysql2postgres/postgres_file_writer.rb
159
89
  - lib/mysql2postgres/postgres_writer.rb
160
90
  - lib/mysql2postgres/version.rb
161
- - lib/mysql2postgres/writer.rb
162
91
  - mysql2postgres.gemspec
163
92
  - test/fixtures/config_all_options.yml
93
+ - test/fixtures/config_min_options.yml
94
+ - test/fixtures/config_to_file.yml
164
95
  - test/fixtures/seed_integration_tests.sql
165
96
  - test/integration/convert_to_db_test.rb
166
97
  - test/integration/convert_to_file_test.rb
167
98
  - test/integration/converter_test.rb
168
- - test/integration/mysql_reader_base_test.rb
99
+ - test/integration/mysql_reader_connection_test.rb
169
100
  - test/integration/mysql_reader_test.rb
170
- - test/integration/postgres_db_writer_base_test.rb
101
+ - test/integration/postgres_db_writer_test.rb
171
102
  - test/test_helper.rb
103
+ - test/units/mysql_test.rb
172
104
  - test/units/option_test.rb
173
105
  - test/units/postgres_file_writer_test.rb
174
- homepage: https://code.alphanodes.com/alphanodes/mysql2postgres
106
+ homepage: https://github.com/AlphaNodes/mysql2postgres
175
107
  licenses:
176
108
  - MIT
177
109
  metadata:
@@ -192,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
124
  - !ruby/object:Gem::Version
193
125
  version: '0'
194
126
  requirements: []
195
- rubygems_version: 3.3.7
127
+ rubygems_version: 3.3.26
196
128
  signing_key:
197
129
  specification_version: 4
198
130
  summary: MySQL to PostgreSQL Data Translation
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Mysql2postgres
4
- class Writer
5
- def inload
6
- raise "Method 'inload' needs to be overridden..."
7
- end
8
- end
9
- end