db_nazi 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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