db_nazi 0.0.2 → 0.0.3

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.
@@ -1,10 +1,39 @@
1
1
  language: ruby
2
2
  bundler_args: --without dev
3
3
  script: bundle exec rake ci
4
- rvm:
5
- - 1.9.2
6
- - 1.9.3
7
- - jruby-19mode
8
- - rbx-19mode
9
- - ruby-head
10
- - jruby-head
4
+ rvm: [] # only run the builds in the matrix below
5
+ matrix:
6
+ include:
7
+ - rvm: 1.9.2
8
+ env: DB_NAZI_ADAPTER=sqlite3
9
+ - rvm: 1.9.2
10
+ env: DB_NAZI_ADAPTER=mysql
11
+ - rvm: 1.9.2
12
+ env: DB_NAZI_ADAPTER=mysql2
13
+ - rvm: 1.9.2
14
+ before_script: psql -c 'create database myapp_test;' -U postgres
15
+ env: DB_NAZI_ADAPTER=postgresql
16
+
17
+ - rvm: 1.9.3
18
+ env: DB_NAZI_ADAPTER=sqlite3
19
+ - rvm: 1.9.3
20
+ env: DB_NAZI_ADAPTER=mysql
21
+ - rvm: 1.9.3
22
+ env: DB_NAZI_ADAPTER=mysql2
23
+ - rvm: 1.9.3
24
+ before_script: psql -c 'create database myapp_test;' -U postgres
25
+ env: DB_NAZI_ADAPTER=postgresql
26
+
27
+ - rvm: rbx-19mode
28
+ env: DB_NAZI_ADAPTER=sqlite3
29
+ - rvm: rbx-19mode
30
+ env: DB_NAZI_ADAPTER=mysql
31
+ - rvm: rbx-19mode
32
+ env: DB_NAZI_ADAPTER=mysql2
33
+ - rvm: rbx-19mode
34
+ before_script: psql -c 'create database myapp_test;' -U postgres
35
+ env: DB_NAZI_ADAPTER=postgresql
36
+
37
+ # jruby-1.6.7 has a broken testrb - use head for now
38
+ - rvm: jruby-head
39
+ env: DB_NAZI_ADAPTER=jdbcmysql
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.0.3 2012-06-27
2
+
3
+ * Disable DB Nazi when loading schema.
4
+
1
5
  == 0.0.2 2012-06-25
2
6
 
3
7
  * Support bulk alters.
data/Gemfile CHANGED
@@ -1,7 +1,17 @@
1
1
  source :rubygems
2
2
  gemspec
3
3
 
4
- group :dev do
5
- gem 'looksee'
6
- gem 'debugger'
4
+ case ENV['DB_NAZI_ADAPTER']
5
+ when 'mysql'
6
+ gem 'mysql'
7
+ when 'mysql'
8
+ gem 'mysql'
9
+ when 'mysql2'
10
+ gem 'mysql2'
11
+ when 'postgresql'
12
+ gem 'pg'
13
+ when 'jdbcmysql'
14
+ gem 'activerecord-jdbcmysql-adapter'
15
+ else
16
+ gem 'sqlite3'
7
17
  end
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'ritual'
2
2
 
3
3
  task :ci do
4
- sh 'bundle exec testrb test/unit'
5
- sh 'bundle exec testrb test/integration'
4
+ sh 'testrb test/unit'
5
+ sh 'testrb test/integration'
6
6
  end
@@ -19,7 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_runtime_dependency 'activerecord', '~> 3.2.6'
20
20
  gem.add_development_dependency 'ritual', '~> 0.4.1'
21
21
  gem.add_development_dependency 'minitest', '~> 3.1.0'
22
- gem.add_development_dependency 'temporaries', '~> 0.2.0'
23
- gem.add_development_dependency 'sqlite3', '~> 1.3.6'
24
- gem.add_development_dependency 'mysql2', '~> 0.3.11'
22
+ gem.add_development_dependency 'temporaries', '~> 0.3.0'
25
23
  end
@@ -2,6 +2,7 @@ module DBNazi
2
2
  autoload :AbstractAdapter, 'db_nazi/abstract_adapter'
3
3
  autoload :Migration, 'db_nazi/migration'
4
4
  autoload :MigrationProxy, 'db_nazi/migration_proxy'
5
+ autoload :Schema, 'db_nazi/schema'
5
6
  autoload :Table, 'db_nazi/table'
6
7
  autoload :TableDefinition, 'db_nazi/table_definition'
7
8
  autoload :VERSION, 'db_nazi/version'
@@ -85,3 +86,4 @@ ActiveRecord::ConnectionAdapters::TableDefinition.__send__ :include, DBNazi::Tab
85
86
  ActiveRecord::ConnectionAdapters::Table.__send__ :include, DBNazi::Table
86
87
  ActiveRecord::Migration.__send__ :include, DBNazi::Migration
87
88
  ActiveRecord::MigrationProxy.__send__ :include, DBNazi::MigrationProxy
89
+ ActiveRecord::Schema.__send__ :include, DBNazi::Schema
@@ -0,0 +1,16 @@
1
+ module DBNazi
2
+ module Schema
3
+ def self.included(base)
4
+ base.extend ClassMethods
5
+ base.singleton_class.alias_method_chain :define, :db_nazi
6
+ end
7
+
8
+ module ClassMethods
9
+ def define_with_db_nazi(*args, &block)
10
+ DBNazi.disable do
11
+ define_without_db_nazi(*args, &block)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  module DBNazi
2
- VERSION = [0, 0, 2]
2
+ VERSION = [0, 0, 3]
3
3
 
4
4
  class << VERSION
5
5
  include Comparable
@@ -1,11 +1,19 @@
1
1
  sqlite3:
2
2
  database: ':memory:'
3
+ mysql:
4
+ username: root
5
+ password:
6
+ database: db_nazi_test
3
7
  mysql2:
4
8
  username: root
5
9
  password:
6
10
  database: db_nazi_test
7
11
  postgresql:
12
+ username: postgres
13
+ password:
14
+ database: db_nazi_test
15
+ min_messages: warning
16
+ jdbcmysql:
8
17
  username: root
9
18
  password:
10
19
  database: db_nazi_test
11
- min_messages: warning
@@ -3,10 +3,7 @@ require_relative '../test_helper'
3
3
  describe DBNazi do
4
4
  use_database
5
5
  use_temporary_directory "#{ROOT}/test/tmp"
6
-
7
- # Migrations use Kernel.puts. Lame.
8
- out = Class.new { def write(*) end; def flush(*) end }.new
9
- use_global_value :stdout, out
6
+ silence_stdout
10
7
 
11
8
  before do
12
9
  DBNazi.reset
@@ -5,7 +5,6 @@ require 'minitest/spec'
5
5
  require 'yaml'
6
6
  require 'active_record'
7
7
  require 'temporaries'
8
- require 'debugger'
9
8
  require 'db_nazi'
10
9
 
11
10
  ADAPTER = ENV['DB_NAZI_ADAPTER'] || 'sqlite3'
@@ -53,4 +52,10 @@ MiniTest::Spec.class_eval do
53
52
  before { recreate_database }
54
53
  after { drop_database }
55
54
  end
55
+
56
+ # Migrations use Kernel.puts. Lame. This shuts them up.
57
+ def self.silence_stdout
58
+ out = Class.new { def puts(*); end; def write(*) end; def flush(*) end }.new
59
+ use_global_value :stdout, out
60
+ end
56
61
  end
@@ -3,10 +3,7 @@ require_relative '../../test_helper'
3
3
  describe DBNazi::MigrationProxy do
4
4
  use_database
5
5
  use_temporary_directory "#{ROOT}/test/tmp"
6
-
7
- # Migrations use Kernel.puts. Lame.
8
- out = Class.new { def write(*) end; def flush(*) end }.new
9
- use_global_value :stdout, out
6
+ silence_stdout
10
7
 
11
8
  before do
12
9
  @original_pwd = Dir.pwd
@@ -0,0 +1,16 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe DBNazi::Schema do
4
+ use_database
5
+ silence_stdout
6
+
7
+ describe ".define" do
8
+ it "should not be policed" do
9
+ ActiveRecord::Schema.define(:version => 1) do
10
+ create_table 'test_table' do |t|
11
+ t.boolean :test_column
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db_nazi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-25 00:00:00.000000000 Z
12
+ date: 2012-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 0.2.0
69
+ version: 0.3.0
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,39 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 0.2.0
78
- - !ruby/object:Gem::Dependency
79
- name: sqlite3
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ~>
84
- - !ruby/object:Gem::Version
85
- version: 1.3.6
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 1.3.6
94
- - !ruby/object:Gem::Dependency
95
- name: mysql2
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 0.3.11
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 0.3.11
77
+ version: 0.3.0
110
78
  description: ''
111
79
  email:
112
80
  - george.ogata@gmail.com
@@ -126,6 +94,7 @@ files:
126
94
  - lib/db_nazi/abstract_adapter.rb
127
95
  - lib/db_nazi/migration.rb
128
96
  - lib/db_nazi/migration_proxy.rb
97
+ - lib/db_nazi/schema.rb
129
98
  - lib/db_nazi/table.rb
130
99
  - lib/db_nazi/table_definition.rb
131
100
  - lib/db_nazi/version.rb
@@ -135,6 +104,7 @@ files:
135
104
  - test/unit/db_nazi/test_abstract_adapter.rb
136
105
  - test/unit/db_nazi/test_migration.rb
137
106
  - test/unit/db_nazi/test_migration_proxy.rb
107
+ - test/unit/db_nazi/test_schema.rb
138
108
  - test/unit/db_nazi/test_table.rb
139
109
  - test/unit/db_nazi/test_table_definition.rb
140
110
  - test/unit/test_db_nazi.rb
@@ -153,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
123
  version: '0'
154
124
  segments:
155
125
  - 0
156
- hash: -1208224069343605588
126
+ hash: -2333184105652215530
157
127
  required_rubygems_version: !ruby/object:Gem::Requirement
158
128
  none: false
159
129
  requirements:
@@ -162,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
132
  version: '0'
163
133
  segments:
164
134
  - 0
165
- hash: -1208224069343605588
135
+ hash: -2333184105652215530
166
136
  requirements: []
167
137
  rubyforge_project:
168
138
  rubygems_version: 1.8.24
@@ -176,6 +146,7 @@ test_files:
176
146
  - test/unit/db_nazi/test_abstract_adapter.rb
177
147
  - test/unit/db_nazi/test_migration.rb
178
148
  - test/unit/db_nazi/test_migration_proxy.rb
149
+ - test/unit/db_nazi/test_schema.rb
179
150
  - test/unit/db_nazi/test_table.rb
180
151
  - test/unit/db_nazi/test_table_definition.rb
181
152
  - test/unit/test_db_nazi.rb