database_cleaner 1.6.2 → 2.0.2

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.
Files changed (133) hide show
  1. checksums.yaml +5 -5
  2. data/lib/database_cleaner.rb +1 -8
  3. metadata +25 -499
  4. data/CONTRIBUTE.markdown +0 -28
  5. data/Gemfile.lock +0 -286
  6. data/History.rdoc +0 -430
  7. data/LICENSE +0 -20
  8. data/README.markdown +0 -518
  9. data/Rakefile +0 -40
  10. data/TODO +0 -3
  11. data/VERSION.yml +0 -4
  12. data/cucumber.yml +0 -1
  13. data/examples/Gemfile +0 -1
  14. data/examples/Gemfile.lock +0 -1
  15. data/examples/config/database.yml.example +0 -8
  16. data/examples/config/redis.yml +0 -8
  17. data/examples/db/sqlite_databases_go_here +0 -0
  18. data/examples/features/example.feature +0 -11
  19. data/examples/features/example_multiple_db.feature +0 -23
  20. data/examples/features/example_multiple_orm.feature +0 -22
  21. data/examples/features/step_definitions/activerecord_steps.rb +0 -31
  22. data/examples/features/step_definitions/couchpotato_steps.rb +0 -31
  23. data/examples/features/step_definitions/datamapper_steps.rb +0 -37
  24. data/examples/features/step_definitions/mongoid_steps.rb +0 -23
  25. data/examples/features/step_definitions/mongomapper_steps.rb +0 -31
  26. data/examples/features/step_definitions/neo4j_steps.rb +0 -23
  27. data/examples/features/step_definitions/ohm_steps.rb +0 -31
  28. data/examples/features/step_definitions/redis_steps.rb +0 -31
  29. data/examples/features/step_definitions/translation_steps.rb +0 -55
  30. data/examples/features/support/env.rb +0 -61
  31. data/examples/lib/activerecord_models.rb +0 -41
  32. data/examples/lib/couchpotato_models.rb +0 -61
  33. data/examples/lib/datamapper_models.rb +0 -50
  34. data/examples/lib/mongoid_models.rb +0 -44
  35. data/examples/lib/mongomapper_models.rb +0 -51
  36. data/examples/lib/neo4j_models.rb +0 -17
  37. data/examples/lib/ohm_models.rb +0 -43
  38. data/examples/lib/redis_models.rb +0 -65
  39. data/examples/lib/sequel_models.rb +0 -9
  40. data/features/cleaning.feature +0 -30
  41. data/features/cleaning_default_strategy.feature +0 -23
  42. data/features/cleaning_multiple_dbs.feature +0 -22
  43. data/features/cleaning_multiple_orms.feature +0 -67
  44. data/features/step_definitions/database_cleaner_steps.rb +0 -33
  45. data/features/support/env.rb +0 -4
  46. data/features/support/feature_runner.rb +0 -39
  47. data/lib/database_cleaner/active_record/base.rb +0 -92
  48. data/lib/database_cleaner/active_record/deletion.rb +0 -106
  49. data/lib/database_cleaner/active_record/transaction.rb +0 -59
  50. data/lib/database_cleaner/active_record/truncation.rb +0 -275
  51. data/lib/database_cleaner/base.rb +0 -164
  52. data/lib/database_cleaner/configuration.rb +0 -131
  53. data/lib/database_cleaner/couch_potato/base.rb +0 -7
  54. data/lib/database_cleaner/couch_potato/truncation.rb +0 -28
  55. data/lib/database_cleaner/cucumber.rb +0 -3
  56. data/lib/database_cleaner/data_mapper/base.rb +0 -21
  57. data/lib/database_cleaner/data_mapper/transaction.rb +0 -28
  58. data/lib/database_cleaner/data_mapper/truncation.rb +0 -172
  59. data/lib/database_cleaner/generic/base.rb +0 -29
  60. data/lib/database_cleaner/generic/transaction.rb +0 -11
  61. data/lib/database_cleaner/generic/truncation.rb +0 -40
  62. data/lib/database_cleaner/mongo/base.rb +0 -16
  63. data/lib/database_cleaner/mongo/truncation.rb +0 -62
  64. data/lib/database_cleaner/mongo/truncation_mixin.rb +0 -26
  65. data/lib/database_cleaner/mongo2/base.rb +0 -16
  66. data/lib/database_cleaner/mongo2/truncation_mixin.rb +0 -39
  67. data/lib/database_cleaner/mongo_mapper/base.rb +0 -20
  68. data/lib/database_cleaner/mongo_mapper/truncation.rb +0 -19
  69. data/lib/database_cleaner/mongoid/base.rb +0 -20
  70. data/lib/database_cleaner/mongoid/truncation.rb +0 -49
  71. data/lib/database_cleaner/moped/base.rb +0 -39
  72. data/lib/database_cleaner/moped/truncation.rb +0 -9
  73. data/lib/database_cleaner/moped/truncation_base.rb +0 -40
  74. data/lib/database_cleaner/neo4j/base.rb +0 -62
  75. data/lib/database_cleaner/neo4j/deletion.rb +0 -16
  76. data/lib/database_cleaner/neo4j/transaction.rb +0 -35
  77. data/lib/database_cleaner/neo4j/truncation.rb +0 -9
  78. data/lib/database_cleaner/null_strategy.rb +0 -20
  79. data/lib/database_cleaner/ohm/truncation.rb +0 -15
  80. data/lib/database_cleaner/redis/base.rb +0 -37
  81. data/lib/database_cleaner/redis/truncation.rb +0 -26
  82. data/lib/database_cleaner/sequel/base.rb +0 -22
  83. data/lib/database_cleaner/sequel/deletion.rb +0 -47
  84. data/lib/database_cleaner/sequel/transaction.rb +0 -40
  85. data/lib/database_cleaner/sequel/truncation.rb +0 -78
  86. data/spec/database_cleaner/active_record/base_spec.rb +0 -188
  87. data/spec/database_cleaner/active_record/transaction_spec.rb +0 -176
  88. data/spec/database_cleaner/active_record/truncation/mysql2_spec.rb +0 -38
  89. data/spec/database_cleaner/active_record/truncation/mysql_spec.rb +0 -38
  90. data/spec/database_cleaner/active_record/truncation/postgresql_spec.rb +0 -75
  91. data/spec/database_cleaner/active_record/truncation/shared_fast_truncation.rb +0 -40
  92. data/spec/database_cleaner/active_record/truncation/sqlite3_spec.rb +0 -40
  93. data/spec/database_cleaner/active_record/truncation_spec.rb +0 -180
  94. data/spec/database_cleaner/base_spec.rb +0 -617
  95. data/spec/database_cleaner/configuration_spec.rb +0 -345
  96. data/spec/database_cleaner/couch_potato/truncation_spec.rb +0 -41
  97. data/spec/database_cleaner/data_mapper/base_spec.rb +0 -30
  98. data/spec/database_cleaner/data_mapper/transaction_spec.rb +0 -23
  99. data/spec/database_cleaner/data_mapper/truncation/sqlite3_spec.rb +0 -41
  100. data/spec/database_cleaner/data_mapper/truncation_spec.rb +0 -11
  101. data/spec/database_cleaner/generic/base_spec.rb +0 -61
  102. data/spec/database_cleaner/generic/truncation_spec.rb +0 -118
  103. data/spec/database_cleaner/mongo/mongo_examples.rb +0 -26
  104. data/spec/database_cleaner/mongo/truncation_spec.rb +0 -72
  105. data/spec/database_cleaner/mongo_mapper/base_spec.rb +0 -33
  106. data/spec/database_cleaner/mongo_mapper/mongo_examples.rb +0 -8
  107. data/spec/database_cleaner/mongo_mapper/truncation_spec.rb +0 -74
  108. data/spec/database_cleaner/moped/moped_examples.rb +0 -32
  109. data/spec/database_cleaner/moped/truncation_spec.rb +0 -80
  110. data/spec/database_cleaner/neo4j/base_spec.rb +0 -43
  111. data/spec/database_cleaner/neo4j/transaction_spec.rb +0 -25
  112. data/spec/database_cleaner/null_strategy_spec.rb +0 -28
  113. data/spec/database_cleaner/ohm/truncation_spec.rb +0 -70
  114. data/spec/database_cleaner/redis/base_spec.rb +0 -43
  115. data/spec/database_cleaner/redis/truncation_spec.rb +0 -63
  116. data/spec/database_cleaner/sequel/base_spec.rb +0 -32
  117. data/spec/database_cleaner/sequel/deletion_spec.rb +0 -58
  118. data/spec/database_cleaner/sequel/transaction_spec.rb +0 -21
  119. data/spec/database_cleaner/sequel/truncation/sqlite3_spec.rb +0 -0
  120. data/spec/database_cleaner/sequel/truncation_spec.rb +0 -182
  121. data/spec/database_cleaner/shared_strategy.rb +0 -15
  122. data/spec/rcov.opts +0 -1
  123. data/spec/spec_helper.rb +0 -21
  124. data/spec/support/active_record/database_setup.rb +0 -6
  125. data/spec/support/active_record/migrations/20150101010000_create_users.rb +0 -14
  126. data/spec/support/active_record/migrations/20150101020000_create_agents.rb +0 -14
  127. data/spec/support/active_record/mysql2_setup.rb +0 -39
  128. data/spec/support/active_record/mysql_setup.rb +0 -38
  129. data/spec/support/active_record/postgresql_setup.rb +0 -48
  130. data/spec/support/active_record/schema_setup.rb +0 -17
  131. data/spec/support/active_record/sqlite3_setup.rb +0 -40
  132. data/spec/support/data_mapper/schema_setup.rb +0 -15
  133. data/spec/support/data_mapper/sqlite3_setup.rb +0 -39
@@ -1,182 +0,0 @@
1
- require 'spec_helper'
2
- require 'database_cleaner/sequel/truncation'
3
- require 'database_cleaner/shared_strategy'
4
- require 'sequel'
5
-
6
- # XXX: use ActiveRecord's db_config (`db/config.yml`) for CI/dev convenience
7
- require 'support/active_record/database_setup'
8
-
9
- module DatabaseCleaner
10
- module Sequel
11
- describe Truncation do
12
- it_should_behave_like "a generic strategy"
13
- it_should_behave_like "a generic truncation strategy"
14
- end
15
-
16
- shared_examples 'a Sequel truncation strategy' do
17
-
18
- # XXX: it'd be really nice if Truncation accepted db: constructor parameter
19
- let(:truncation) do
20
- t = Truncation.new
21
- t.db = db
22
- t
23
- end
24
-
25
- context 'when several tables have data' do
26
- before(:each) do
27
- db.create_table!(:precious_stones) { primary_key :id }
28
- db.create_table!(:replaceable_trifles) { primary_key :id }
29
- db.create_table!(:worthless_junk) { primary_key :id }
30
-
31
- db[:precious_stones].insert
32
- db[:replaceable_trifles].insert
33
- db[:worthless_junk].insert
34
- end
35
- context 'by default' do
36
- it 'truncates all the tables' do
37
- t = Truncation.new
38
- t.db = db
39
- t.clean
40
-
41
- expect(db[:replaceable_trifles]).to have(0).rows
42
- expect(db[:worthless_junk]).to have(0).rows
43
- expect(db[:precious_stones]).to have(0).rows
44
- end
45
- end
46
- context 'when the Truncation is restricted to "only: [...]" some tables' do
47
- it 'truncates only the mentioned tables (and leaves the rest alone)' do
48
- t = Truncation.new(only: ['worthless_junk', 'replaceable_trifles'])
49
- t.db = db
50
- t.clean
51
-
52
- expect(db[:replaceable_trifles]).to have(0).rows
53
- expect(db[:worthless_junk]).to have(0).rows
54
- expect(db[:precious_stones]).to have(1).rows
55
- end
56
- end
57
- context 'when the Truncation is restricted to "except: [...]" some tables' do
58
- it 'leaves the mentioned tables alone (and truncates the rest)' do
59
- t = Truncation.new(except: ['precious_stones']) # XXX: Strings only, symbols are ignored
60
- t.db = db
61
- t.clean
62
-
63
- expect(db[:replaceable_trifles]).to be_empty
64
- expect(db[:worthless_junk]).to be_empty
65
- expect(db[:precious_stones]).to have(1).item
66
- end
67
- end
68
- end
69
- end
70
-
71
- shared_examples_for 'a truncation strategy without autoincrement resets' do
72
- it "leaves AUTO_INCREMENT index alone by default (BUG: it should be reset instead)" do
73
- # Jordan Hollinger made everything reset auto increment IDs
74
- # in commit 6a0104382647e5c06578aeac586c0333c8944492 so I'm pretty sure
75
- # everything is meant to reset by default.
76
- #
77
- # For Postgres, db[:mytable].truncate(restart: true) should work.
78
- # For SQLite, db[:sqlite_sequence].where(name: 'mytable').delete
79
-
80
- db.create_table!(:replaceable_trifles) { primary_key :id }
81
- table = db[:replaceable_trifles]
82
- 2.times { table.insert }
83
-
84
- truncation.clean
85
-
86
- id_after_clean = table.insert
87
- pending('the bug being fixed') do
88
- expect(id_after_clean).to eq 1
89
- end
90
- end
91
- # XXX: it'd be really nice if Truncation accepted db: constructor parameter
92
- let(:truncation) do
93
- t = Truncation.new
94
- t.db = db
95
- t
96
- end
97
- end
98
-
99
- shared_examples_for 'a truncation strategy that resets autoincrement keys by default' do
100
- it "resets AUTO_INCREMENT primary keys" do
101
- db.create_table!(:replaceable_trifles) { primary_key :id }
102
- table = db[:replaceable_trifles]
103
- 2.times { table.insert }
104
-
105
- truncation.clean
106
-
107
- id_after_clean = table.insert
108
- expect(id_after_clean).to eq 1
109
- end
110
-
111
- # XXX: it'd be really nice if Truncation accepted db: constructor parameter
112
- let(:truncation) do
113
- t = Truncation.new
114
- t.db = db
115
- t
116
- end
117
- end
118
-
119
- half_supported_configurations = [
120
- {url: 'sqlite:///', connection_options: db_config['sqlite3']},
121
- {url: 'postgres:///', connection_options: db_config['postgres']},
122
- ]
123
- supported_configurations = [
124
- {url: 'mysql:///', connection_options: db_config['mysql']},
125
- {url: 'mysql2:///', connection_options: db_config['mysql2']}
126
- ]
127
- supported_configurations.each do |config|
128
- describe "Sequel truncation (using a #{config[:url]} connection)" do
129
- let(:db) { ::Sequel.connect(config[:url], config[:connection_options]) }
130
-
131
- it_behaves_like 'a Sequel truncation strategy'
132
- it_behaves_like 'a truncation strategy that resets autoincrement keys by default'
133
-
134
- describe '#pre_count?' do
135
- subject { Truncation.new.tap { |t| t.db = db } }
136
-
137
- its(:pre_count?) { should eq false }
138
-
139
- it 'should return true if @reset_id is set and non false or nil' do
140
- subject.instance_variable_set(:"@pre_count", true)
141
- subject.send(:pre_count?).should eq true
142
- end
143
-
144
- it 'should return false if @reset_id is set to false' do
145
- subject.instance_variable_set(:"@pre_count", false)
146
- subject.send(:pre_count?).should eq false
147
- end
148
- end
149
-
150
- describe "relying on #pre_count_truncate_tables if asked to" do
151
- subject { Truncation.new.tap { |t| t.db = db } }
152
-
153
- it "should rely on #pre_count_truncate_tables if #pre_count? returns true" do
154
- subject.instance_variable_set(:"@pre_count", true)
155
-
156
- subject.should_not_receive(:truncate_tables)
157
- subject.should_receive(:pre_count_truncate_tables)
158
-
159
- subject.clean
160
- end
161
-
162
- it "should not rely on #pre_count_truncate_tables if #pre_count? return false" do
163
- subject.instance_variable_set(:"@pre_count", false)
164
-
165
- subject.should_not_receive(:pre_count_truncate_tables)
166
- subject.should_receive(:truncate_tables)
167
-
168
- subject.clean
169
- end
170
- end
171
- end
172
- end
173
- half_supported_configurations.each do |config|
174
- describe "Sequel truncation (using a #{config[:url]} connection)" do
175
- let(:db) { ::Sequel.connect(config[:url], config[:connection_options]) }
176
-
177
- it_behaves_like 'a Sequel truncation strategy'
178
- it_behaves_like 'a truncation strategy without autoincrement resets'
179
- end
180
- end
181
- end
182
- end
@@ -1,15 +0,0 @@
1
- shared_examples_for "a generic strategy" do
2
- it { should respond_to(:db) }
3
- end
4
-
5
- shared_examples_for "a generic truncation strategy" do
6
- it { should respond_to(:start) }
7
- it { should respond_to(:clean) }
8
- it { should respond_to(:cleaning) }
9
- end
10
-
11
- shared_examples_for "a generic transaction strategy" do
12
- it { should respond_to(:start) }
13
- it { should respond_to(:clean) }
14
- it { should respond_to(:cleaning) }
15
- end
data/spec/rcov.opts DELETED
@@ -1 +0,0 @@
1
- --exclude "spec/*,vendor/*,examples/*,features/*,Users/*/.rvm/gems/*/gems/*"
data/spec/spec_helper.rb DELETED
@@ -1,21 +0,0 @@
1
- require "rubygems"
2
-
3
- require "bundler"
4
- Bundler.setup
5
-
6
- require 'rspec/core'
7
- require 'rspec/mocks'
8
-
9
- #require 'active_record'
10
- #require 'mongo_mapper'
11
-
12
- $:.unshift(File.dirname(__FILE__))
13
- $:.unshift(File.dirname(__FILE__) + '/../lib')
14
-
15
- require 'database_cleaner'
16
-
17
- RSpec.configure do |config|
18
-
19
- end
20
-
21
- alias running lambda
@@ -1,6 +0,0 @@
1
- require 'yaml'
2
-
3
- def db_config
4
- config_path = 'db/config.yml'
5
- @db_config ||= YAML.load(IO.read(config_path))
6
- end
@@ -1,14 +0,0 @@
1
- class CreateUsers < ActiveRecord::Migration
2
- def self.up
3
- create_table :users do |t|
4
- t.string :name
5
- end
6
- end
7
-
8
- def self.down
9
- drop_table :users
10
- end
11
- end
12
-
13
- class ::User < ActiveRecord::Base
14
- end
@@ -1,14 +0,0 @@
1
- class CreateAgents < ActiveRecord::Migration
2
- def self.up
3
- create_table :agents do |t|
4
- t.string :name
5
- end
6
- end
7
-
8
- def self.down
9
- drop_table :agents
10
- end
11
- end
12
-
13
- class ::Agent < ActiveRecord::Base
14
- end
@@ -1,39 +0,0 @@
1
- require 'support/active_record/database_setup'
2
- require 'support/active_record/schema_setup'
3
-
4
-
5
- module MySQL2Helper
6
- puts "Active Record #{ActiveRecord::VERSION::STRING}, mysql2"
7
-
8
- # require 'logger'
9
- # ActiveRecord::Base.logger = Logger.new(STDERR)
10
-
11
- def default_config
12
- db_config['mysql2']
13
- end
14
-
15
- def create_db
16
- establish_connection(default_config.merge(:database => nil))
17
-
18
- ActiveRecord::Base.connection.drop_database default_config['database'] rescue nil
19
- ActiveRecord::Base.connection.create_database default_config['database']
20
- end
21
-
22
- def establish_connection(config = default_config)
23
- ActiveRecord::Base.establish_connection config
24
- end
25
-
26
- def active_record_mysql2_setup
27
- create_db
28
- establish_connection
29
- active_record_load_schema
30
- end
31
-
32
- def active_record_mysql2_connection
33
- ActiveRecord::Base.connection
34
- end
35
- end
36
-
37
- RSpec.configure do |c|
38
- c.include MySQL2Helper
39
- end
@@ -1,38 +0,0 @@
1
- require 'support/active_record/database_setup'
2
- require 'support/active_record/schema_setup'
3
-
4
- module MySQLHelper
5
- puts "Active Record #{ActiveRecord::VERSION::STRING}, mysql"
6
-
7
- # require 'logger'
8
- # ActiveRecord::Base.logger = Logger.new(STDERR)
9
-
10
- def default_config
11
- db_config['mysql']
12
- end
13
-
14
- def create_db
15
- establish_connection(default_config.merge(:database => nil))
16
-
17
- ActiveRecord::Base.connection.drop_database default_config['database'] rescue nil
18
- ActiveRecord::Base.connection.create_database default_config['database']
19
- end
20
-
21
- def establish_connection(config = default_config)
22
- ActiveRecord::Base.establish_connection config
23
- end
24
-
25
- def active_record_mysql_setup
26
- create_db
27
- establish_connection
28
- active_record_load_schema
29
- end
30
-
31
- def active_record_mysql_connection
32
- ActiveRecord::Base.connection
33
- end
34
- end
35
-
36
- RSpec.configure do |c|
37
- c.include MySQLHelper
38
- end
@@ -1,48 +0,0 @@
1
- require 'support/active_record/database_setup'
2
- require 'support/active_record/schema_setup'
3
-
4
- module PostgreSQLHelper
5
- puts "Active Record #{ActiveRecord::VERSION::STRING}, pg"
6
-
7
- # ActiveRecord::Base.logger = Logger.new(STDERR)
8
-
9
- def default_config
10
- db_config['postgres']
11
- end
12
-
13
- def create_db
14
- @encoding = default_config['encoding'] || ENV['CHARSET'] || 'utf8'
15
- begin
16
- establish_connection(default_config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
17
- ActiveRecord::Base.connection.drop_database(default_config['database']) rescue nil
18
- ActiveRecord::Base.connection.create_database(default_config['database'], default_config.merge('encoding' => @encoding))
19
- rescue Exception => e
20
- $stderr.puts e, *(e.backtrace)
21
- $stderr.puts "Couldn't create database for #{default_config.inspect}"
22
- end
23
- end
24
-
25
- def establish_connection(config = default_config)
26
- ActiveRecord::Base.establish_connection(config)
27
- end
28
-
29
- def active_record_pg_setup
30
- create_db
31
- establish_connection
32
- active_record_load_schema
33
- end
34
-
35
- def active_record_pg_migrate
36
- create_db
37
- establish_connection
38
- ActiveRecord::Migrator.migrate 'spec/support/active_record/migrations'
39
- end
40
-
41
- def active_record_pg_connection
42
- ActiveRecord::Base.connection
43
- end
44
- end
45
-
46
- RSpec.configure do |c|
47
- c.include PostgreSQLHelper
48
- end
@@ -1,17 +0,0 @@
1
- def active_record_load_schema
2
- ActiveRecord::Schema.define do
3
- create_table :users, :force => true do |t|
4
- t.integer :name
5
- end
6
-
7
- create_table :agents, :id => false, :force => true do |t|
8
- t.integer :name
9
- end
10
- end
11
- end
12
-
13
- class ::User < ActiveRecord::Base
14
- end
15
-
16
- class ::Agent < ActiveRecord::Base
17
- end
@@ -1,40 +0,0 @@
1
- require 'support/active_record/database_setup'
2
- require 'support/active_record/schema_setup'
3
-
4
- module SQLite3Helper
5
- puts "Active Record #{ActiveRecord::VERSION::STRING}, sqlite3"
6
-
7
- # ActiveRecord::Base.logger = Logger.new(STDERR)
8
-
9
- def default_config
10
- db_config['sqlite3']
11
- end
12
-
13
- def create_db
14
- @encoding = default_config['encoding'] || ENV['CHARSET'] || 'utf8'
15
- begin
16
- establish_connection(default_config.merge('database' => 'sqlite3', 'schema_search_path' => 'public'))
17
- rescue Exception => e
18
- $stderr.puts e, *(e.backtrace)
19
- $stderr.puts "Couldn't create database for #{default_config.inspect}"
20
- end
21
- end
22
-
23
- def establish_connection(config = default_config)
24
- ActiveRecord::Base.establish_connection(config)
25
- end
26
-
27
- def active_record_sqlite3_setup
28
- create_db
29
- establish_connection
30
- active_record_load_schema
31
- end
32
-
33
- def active_record_sqlite3_connection
34
- ActiveRecord::Base.connection
35
- end
36
- end
37
-
38
- RSpec.configure do |c|
39
- c.include SQLite3Helper
40
- end
@@ -1,15 +0,0 @@
1
- def data_mapper_load_schema
2
- require 'dm-migrations'
3
-
4
- DataMapper.auto_migrate!
5
- end
6
-
7
- class ::DmUser
8
- include DataMapper::Resource
9
-
10
- self.storage_names[:default] = 'users'
11
-
12
- property :id, Serial
13
- property :name, String
14
-
15
- end
@@ -1,39 +0,0 @@
1
- require 'support/active_record/database_setup'
2
- require 'support/data_mapper/schema_setup'
3
-
4
- module DataMapperSQLite3Helper
5
-
6
- puts "DataMapper #{DataMapper::VERSION}, sqlite3"
7
-
8
- def default_config
9
- db_config['sqlite3']
10
- end
11
-
12
- def create_db
13
- @encoding = default_config['encoding'] || ENV['CHARSET'] || 'utf8'
14
- begin
15
- establish_connection(default_config.merge('database' => 'sqlite3', 'schema_search_path' => 'public'))
16
- rescue Exception => e
17
- $stderr.puts e, *(e.backtrace)
18
- $stderr.puts "Couldn't create database for #{default_config.inspect}"
19
- end
20
- end
21
-
22
- def establish_connection(config = default_config)
23
- DataMapper.setup(:default, config)
24
- end
25
-
26
- def data_mapper_sqlite3_setup
27
- create_db
28
- establish_connection
29
- data_mapper_load_schema
30
- end
31
-
32
- def data_mapper_sqlite3_connection
33
- DataMapper.repository.adapter
34
- end
35
- end
36
-
37
- RSpec.configure do |c|
38
- c.include(DataMapperSQLite3Helper)
39
- end