sql_migrations 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a7af01aa26b454dce549effa9f5f7bbdefeaa41
4
- data.tar.gz: f0e181d2405b79d2422d71642f5f3ddeed771af9
3
+ metadata.gz: 5c161cf11a737f57288204c4743855bb7ea87d47
4
+ data.tar.gz: 1d0760c754c81ee792c2dd6630182d6f20e82f24
5
5
  SHA512:
6
- metadata.gz: 22a9502d97115601a346f6880f797cd2a673a9f34e1fe6087fca4b6b641629d0387e3d6e2ef54d31ba8463f31dab150cf6b42442c3d592043fef0c14679b39a8
7
- data.tar.gz: 033d9346b11d1c0b7479d29a18aec46b2cbc454fa0a9e247d00d1edf47c5f31549e89d8708ede401f4cdc8475dbd628a99fb3bf3fc6e44102bafb54493cb2f52
6
+ metadata.gz: dad9f6a31134633ac2f14aa74e208dd96292358f34f7214a7ae1230d416ce991b1df78c27691d58a366ff6af67e336d9970f924688bd7d02f0d4d4866de06e32
7
+ data.tar.gz: d8ec3f6f6c0bfb69ea0bff00176bb0f24cb33fc8f61e7bad4b9bfe8b560d5fd623e6a40a028aa9673ea5865c9ceedf6e23026851682342dda5819d0fdd93e470
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --require 'spec_helper'
2
+ --color
3
+ --format documentation
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.0
data/README.md CHANGED
@@ -1,181 +1,184 @@
1
1
  # sql-migrations
2
2
 
3
- Simple standalone migrations gem you can use with plain SQL.
3
+ [![Gem Version](https://badge.fury.io/rb/sql_migrations.svg)](http://badge.fury.io/rb/sql_migrations)
4
+ [![Build Status](https://travis-ci.org/grzesiek/sql-migrations.svg?branch=master)](https://travis-ci.org/grzesiek/sql-migrations)
4
5
 
5
- You can execute migrations, seed datebase on production and on test environment with fixtures in non-Ruby pojects.
6
- `sql-migrations` can work with multiple different databases.
6
+ Simple standalone migrations you can use with plain SQL.
7
+
8
+ This gives you possibility to execute migrations, seed datebase (on production and in test environment with fixtures) in non-Ruby pojects.
9
+ `sql-migrations` can work with multiple different databases, and support many db adapters.
7
10
 
8
11
  ## Why ?
9
12
 
10
- This is particularly useful in old projects that doesn't have migrations support, and you really want to use Continues Delivery strategy.
13
+ This is particularly useful in old projects that don't have migration support, and you really want to use Continues Delivery strategy.
11
14
  Without migrations you wouldn't be able to setup your test environment for automated testing (functional tests, unit tests, integration tests).
12
15
 
13
- For example, if you work in old Zend1 project, and you want to take benefit from using Continues Deployment/Continues Integration mechanisms - you may find this project useful.
16
+ For example, if you work on old Zend 1 project, and you want to take benefit from using Continues Deployment/Continues Integration mechanisms - you may find this project useful.
14
17
 
15
18
  ## Install
16
19
 
17
- `sql-migrations` are created using Ruby.
20
+ `sql-migrations` are created using Ruby, but you can use this software with non-Ruby projects, like PHP or Java. This is standalone mechanism.
18
21
 
19
- 1. First - install Ruby environment, with `rbenv` or `rvm`.
20
- 2. If your project is not created using Ruby, create your Gemfile:
22
+ 1. First - install Ruby environment, with `rbenv` or `rvm`.
23
+ 2. If your project is not using ruby, create your Gemfile:
21
24
 
22
- ```ruby
23
- source 'https://rubygems.org'
24
- gem 'mysql2'
25
- gem 'sql_migrations'
26
- ```
25
+ source 'https://rubygems.org'
26
+ gem 'mysql2'
27
+ gem 'sql_migrations'
27
28
 
28
- You can use all database adapters, that are supported by `Sequel`.
29
- Adapters supported by `Sequel`, by now, are:
29
+ It is possible to use all database adapters that are supported by `Sequel`.
30
+ Adapters supported by `Sequel`, by now, are:
30
31
 
31
- ADO, Amalgalite, CUBRID, DataObjects, DB2, DBI, Firebird,
32
- FoundationDB SQL Layer, IBM_DB, Informix, JDBC, MySQL, Mysql2,
33
- ODBC, OpenBase, Oracle, PostgreSQL, SQLAnywhere, SQLite3,
34
- Swift, and TinyTDS
35
-
36
- If you are using PostgreSQL use
37
-
38
- ```ruby
39
- gem 'pg'
40
- ```
41
-
42
- 3. Run `bundle install`
43
-
44
- 4. Create database config file, for example in `config/databases.yml`
45
-
46
- ```yaml
47
- default:
48
- development:
49
- adapter: mysql2
50
- encoding: utf8
51
- database: test_db_dev
52
- username: test_user
53
- password: test_pass
54
- host: 192.168.1.1
55
- test:
56
- adapter: mysql2
57
- encoding: utf8
58
- database: test_db_test
59
- username: test_user
60
- password: test_pass
61
- host: 192.168.1.1
62
-
63
- production:
64
- adapter: mysql2
65
- encoding: utf8
66
- database: test_db_prod
67
- username: test_user
68
- password: test_pass
69
- host: 192.168.1.100
70
- second_db:
71
- development:
72
- adapter: mysql2
73
- encoding: utf8
74
- database: second_db_dev
75
- username: test_user
76
- password: test_pass
77
- host: 127.0.0.1
78
- test:
79
- adapter: mysql2
80
- encoding: utf8
81
- database: second_db_test
82
- username: test_user
83
- password: test_pass
84
- host: 127.0.0.1
85
- ```
86
-
87
- Note that you need to define `default` database set.
88
-
89
- 4. Migrations/seed/fixtures are executed using rake tasks. So you will need to create `Rakefile`. Example `Rakefile`:
90
-
91
- ```ruby
92
- require 'bundler'
93
- Bundler.require
94
-
95
- SqlMigrations.load!('db/config/databases.yml')
96
- SqlMigrations.load_tasks
97
- ```
98
-
99
- 5. It's ready !
32
+ > ADO, Amalgalite, CUBRID, DataObjects, DB2, DBI, Firebird,
33
+ > FoundationDB SQL Layer, IBM_DB, Informix, JDBC, MySQL, Mysql2,
34
+ > ODBC, OpenBase, Oracle, PostgreSQL, SQLAnywhere, SQLite3,
35
+ > Swift, and TinyTDS
36
+
37
+ If you are using PostgreSQL use
38
+
39
+ gem 'pg'
40
+
41
+ 3. Run `bundle install`
42
+
43
+ 4. Create database config file in `db/config/databases.yml`
44
+
45
+ default:
46
+ development:
47
+ adapter: mysql2
48
+ encoding: utf8
49
+ database: test_db_dev
50
+ username: test_user
51
+ password: test_pass
52
+ host: 192.168.1.1
53
+ test:
54
+ adapter: mysql2
55
+ encoding: utf8
56
+ database: test_db_test
57
+ username: test_user
58
+ password: test_pass
59
+ host: 192.168.1.1
60
+
61
+ production:
62
+ adapter: mysql2
63
+ encoding: utf8
64
+ database: test_db_prod
65
+ username: test_user
66
+ password: test_pass
67
+ host: 192.168.1.100
68
+ second_db:
69
+ development:
70
+ adapter: mysql2
71
+ encoding: utf8
72
+ database: second_db_dev
73
+ username: test_user
74
+ password: test_pass
75
+ host: 127.0.0.1
76
+ test:
77
+ adapter: mysql2
78
+ encoding: utf8
79
+ database: second_db_test
80
+ username: test_user
81
+ password: test_pass
82
+ host: 127.0.0.1
83
+
84
+ Note that you need to define `default` databases set.
85
+
86
+ 4. Migrations/seed/fixtures are executed using rake tasks. So you will need to create `Rakefile`:
87
+
88
+ require 'bundler'
89
+ Bundler.require
90
+
91
+ SqlMigrations.load!('db/config/databases.yml')
92
+ SqlMigrations.load_tasks
93
+
94
+ 5. It's ready !
100
95
 
101
96
 
102
97
  ## Usage
103
98
 
104
- 1. Valid migration/seed/fixture file names match agains regexp `/(\d{8})_(\d{6})_(.*)?\.sql/`. So valid filenames would be:
99
+ 1. Valid migration/seed/fixture file names match agains regexp `/(\d{8})_(\d{6})_(.*)?\.sql/`. So valid filenames would be:
105
100
 
106
101
 
107
- ```
108
- 20150303_180100_test_migration.sql
109
- 20150303_180100_whatever_description_of_seed.sql
110
- 20150303_180100_fixture1.sql
111
- ```
102
+ 20150303_180100_test_migration.sql
103
+ 20150303_180100_whatever_description_of_seed.sql
104
+ 20150303_180100_fixture1.sql
112
105
 
113
- You can put plain SQL into that files.
106
+ You can put plain SQL into that files.
114
107
 
115
- 2. You can create migrations files, seed files and fixtures in directories like this:
108
+ 2. It is possible to create migration files, seed files and fixtures inside followig directory structure:
116
109
 
117
- ```
118
- db/
119
- migrations/
120
- fixtures/
121
- seed/
122
- ```
110
+ db/
111
+ migrations/
112
+ 20150303_180100_test_migration.sql
113
+ fixtures/
114
+ 20150303_180100_fixture1.sql
115
+ seed/
116
+ 20150303_180100_whatever_description_of_seed.sql
123
117
 
124
- If you want to use multiple databases, create database directories:
118
+ If you want to use multiple databases, create also database directories:
125
119
 
126
- db/
127
- migrations/
128
- default/
129
- second_db/
130
- fixtures/
131
- default/
132
- second_db/
133
- seed/
134
- default/
135
- second_db/
120
+ db/
121
+ migrations/
122
+ default/
123
+ second_db/
124
+ fixtures/
125
+ default/
126
+ second_db/
127
+ seed/
128
+ default/
129
+ second_db/
136
130
 
137
- `default/` directory is mandatory, you can put migrations/seed data/fixtures for default database in base directories:
131
+ `default/` directory is optional, you can put migrations/seed data/fixtures for default database in base directories:
138
132
 
139
- db/
140
- migrations/
141
- 20150303_180100_test_migration.sql
142
- second_db/
143
- 20150303_180101_test_migration_for_second_db.sql
133
+ db/
134
+ migrations/
135
+ 20150303_180100_test_migration.sql
136
+ second_db/
137
+ 20150303_180101_test_migration_for_second_db.sql
144
138
 
145
- 3. In every database that is specified in YAML config, `sql-migrations` will create table `sqlmigrations_schema`
146
- 4. If everything is set up properly, you should see `sqlmigrations` tasks after typing
139
+ 3. `sql-migrations` will create table `sqlmigrations_schema` for each database specified in YAML config.
147
140
 
141
+ 4. If everything is set up properly, you should see new rake tasks:
148
142
 
149
143
  rake -T
150
144
 
151
- 5. Run tasks:
145
+ This should give output
146
+
147
+ rake sqlmigrations:db:migrate # Run migrations
148
+ rake sqlmigrations:db:seed # Seed database
149
+ rake sqlmigrations:db:test:seed # Seed test database with fixtures
150
+ rake sqlmigrations:files:list # List found migration and seed files
151
+
152
+
153
+ 5. Then, run tasks:
154
+
155
+
156
+ # this will execute migrations
157
+ rake sqlmigrations:db:migrate
152
158
 
159
+ # this will seed database with initial data
160
+ rake sqlmigrations:db:seed
153
161
 
154
- rake sqlmigrations:db:migrate # this will execute migrations
155
- rake sqlmigrations:db:seed # this will seed database with initial data
156
- rake sqlmigration:files:list # this will list all migrations/seed files/fixtures that where found
162
+ # this will list all migrations/seed files/fixtures that where found
163
+ rake sqlmigration:files:list
157
164
 
158
- 6. Enviroment variables
165
+ 6. Enviroment variables
159
166
 
160
- If you want to run migration on different database (for example test) specify ENV:
167
+ If you want to run migration on different database (for example test) specify ENV:
161
168
 
162
- ```bash
163
- ENV=test rake sqlmigrations:db:migrate
164
- ENV=test rake sqlmigrations:db:test:seed
165
- ```
169
+ ENV=test rake sqlmigrations:db:migrate
170
+ ENV=test rake sqlmigrations:db:test:seed
166
171
 
167
- or in production:
172
+ or in production:
168
173
 
169
- ```bash
170
- ENV=production rake sqlmigrations:db:migrate
171
- ENV=production rake sqlmigrations:db:seed
172
- ```
174
+ ENV=production rake sqlmigrations:db:migrate
175
+ ENV=production rake sqlmigrations:db:seed
173
176
 
174
177
  ## TODO
175
178
 
176
- 1. Tests
177
- 2. Generator for `databases.yml`
178
- 3. Generator for migrations
179
+ 1. Tests
180
+ 2. Generator for `databases.yml`
181
+ 3. Generator for migrations
179
182
 
180
183
  ## License
181
184
 
data/Rakefile CHANGED
@@ -1,2 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new('spec')
5
+ task :default => :spec
2
6
 
@@ -7,12 +7,7 @@ module SqlMigrations
7
7
  def initialize(options)
8
8
  @name = options[:name] || :default
9
9
  begin
10
- @db = Sequel.connect(adapter: options['adapter'],
11
- host: options['host'],
12
- database: options['database'],
13
- user: options['username'],
14
- password: options['password'],
15
- test: true)
10
+ @db = self.class.connect(options)
16
11
  rescue
17
12
  puts "[-] Could not connect to database using #{options['adapter']} adapter"
18
13
  raise
@@ -42,6 +37,16 @@ module SqlMigrations
42
37
  end
43
38
 
44
39
  private
40
+
41
+ def self.connect(options)
42
+ Sequel.connect(adapter: options['adapter'],
43
+ host: options['host'],
44
+ database: options['database'],
45
+ user: options['username'],
46
+ password: options['password'],
47
+ test: true)
48
+ end
49
+
45
50
  def install_table
46
51
  # Check if we have migrations_schema table present
47
52
  unless @db.table_exists?(SCHEMA_TABLE)
@@ -57,6 +62,5 @@ module SqlMigrations
57
62
  end
58
63
  end
59
64
 
60
-
61
65
  end
62
66
  end
@@ -9,7 +9,7 @@ module SqlMigrations
9
9
  @name = opts[:name]
10
10
  @path = opts[:path]
11
11
  @db_name = opts[:db_name]
12
- @content = IO.read(path)
12
+ @content = File.read(path)
13
13
  @type = self.class.name.downcase.split('::').last
14
14
  @datetime = (@date + @time).to_i
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module SqlMigrations
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -0,0 +1,34 @@
1
+ describe 'migration' do
2
+ before do
3
+ Dir.mkdir('/migrations')
4
+ File.open('/migrations/20150305_154010_test_migration.sql', 'w') do |f|
5
+ f.puts "CREATE TABLE test_table(col_int INTEGER, col_str STRING)"
6
+ end
7
+ @migration = SqlMigrations::Migration.find([ :default ]).first
8
+ end
9
+
10
+ it 'should be found and initialized' do
11
+ expect(@migration).to be_a(SqlMigrations::Migration)
12
+ end
13
+
14
+ it 'should have proper date' do
15
+ expect(@migration.date).to eql('20150305')
16
+ end
17
+
18
+ it 'should have proper time' do
19
+ expect(@migration.time).to eql('154010')
20
+ end
21
+
22
+ it 'should have proper name' do
23
+ expect(@migration.name).to eql('test_migration')
24
+ end
25
+
26
+ it 'should be properly executed' do
27
+ $stdout = StringIO.new
28
+ database = SqlMigrations::Database.new(name: :default, 'adapter' => :sqlite)
29
+ @migration.execute(database)
30
+ expect(@sqlite_db.table_exists?(:test_table)).to be true
31
+ expect(@sqlite_db[:test_table].columns).to include(:col_int)
32
+ expect(@sqlite_db[:test_table].columns).to include(:col_str)
33
+ end
34
+ end
@@ -0,0 +1,26 @@
1
+ describe 'schema table in database' do
2
+
3
+ it 'should be created if it does not exist' do
4
+ expect do
5
+ @database = SqlMigrations::Database.new(name: :default, 'adapter' => :sqlite)
6
+ end.to output("[+] Connected to database using sqlite adapter\n" +
7
+ "[!] Installing `sqlmigrations_schema`\n").to_stdout
8
+ expect(@database.db.table_exists?(:sqlmigrations_schema)).to be true
9
+ end
10
+
11
+ it 'should not be create if it exists' do
12
+ @sqlite_db.create_table(:sqlmigrations_schema) do
13
+ primary_key :id
14
+ Bignum :time
15
+ DateTime :executed
16
+ String :name
17
+ String :type
18
+ index [ :time, :type ]
19
+ end
20
+ expect do
21
+ @database = SqlMigrations::Database.new(name: :default, 'adapter' => :sqlite)
22
+ end.to output("[+] Connected to database using sqlite adapter\n").to_stdout
23
+ expect(@database.db.table_exists?(:sqlmigrations_schema)).to be true
24
+ end
25
+
26
+ end
@@ -0,0 +1,30 @@
1
+ describe 'sql scripts' do
2
+ before do
3
+ Dir.mkdir('/migrations')
4
+ Dir.mkdir('/seed')
5
+ Dir.mkdir('/fixtures')
6
+
7
+ File.open('/migrations/20150305_154010_first_test_migration.sql', 'w') do |f|
8
+ f.puts "CREATE TABLE first_test_table(col_int1 INTEGER, col_str1 STRING)"
9
+ end
10
+ File.open('/migrations/20150305_154011_second_test_migration.sql', 'w') do |f|
11
+ f.puts "CREATE TABLE second_test_table(col_int2 INTEGER, col_str2 STRING)"
12
+ end
13
+ File.open('/seed/20150305_154010_test_seed.sql', 'w') do |f|
14
+ f.puts "INSERT INTO first_test_table(col_int1, col_str1) VALUES(123, 'test_string1')"
15
+ f.puts "INSERT INTO second_test_table(col_int2, col_str2) VALUES(456, 'test_string2')"
16
+ end
17
+ File.open('/fixtures/20150305_154010_test_test_seed', 'w') do |f|
18
+ f.puts "INSERT INTO first_test_table(col_int1, col_str1) VALUES(2123, '2test_string1')"
19
+ f.puts "INSERT INTO second_test_table(col_int2, col_str2) VALUES(2456, '2test_string2')"
20
+ end
21
+ end
22
+
23
+ it 'should be found' do
24
+ expect { SqlMigrations::Supervisor.new.list_files }.to \
25
+ output("Migration first_test_migration for db: default, datetime: 20150305154010\n" +
26
+ "Migration second_test_migration for db: default, datetime: 20150305154011\n" +
27
+ "Seed data test_seed, datetime: 20150305154010\n").to_stdout
28
+ end
29
+
30
+ end
@@ -0,0 +1,16 @@
1
+ require 'bundler/setup'
2
+ require 'memfs'
3
+ Bundler.require
4
+
5
+ RSpec.configure do |config|
6
+ config.before do
7
+ @sqlite_db = Sequel.sqlite
8
+ allow(SqlMigrations::Database).to receive(:connect) { @sqlite_db }
9
+ allow(SqlMigrations).to receive(:options) { { default: { development: {}}} }
10
+ MemFs.activate!
11
+ end
12
+
13
+ config.after do
14
+ MemFs.deactivate!
15
+ end
16
+ end
@@ -17,7 +17,10 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_development_dependency 'bundler', '~> 1.7'
21
- spec.add_dependency 'rake', '~> 10.0'
22
- spec.add_dependency 'sequel', '~> 4.19.0'
20
+ spec.add_development_dependency 'rspec', '~> 3.2.0'
21
+ spec.add_development_dependency 'sqlite3', '~> 1.3.10'
22
+ spec.add_development_dependency 'memfs', '~> 0.4.3'
23
+ spec.add_dependency 'bundler', '~> 1.7'
24
+ spec.add_dependency 'rake', '~> 10.0'
25
+ spec.add_dependency 'sequel', '~> 4.19.0'
23
26
  end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sql_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grzegorz Bizon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-03 00:00:00.000000000 Z
11
+ date: 2015-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.10
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.10
41
+ - !ruby/object:Gem::Dependency
42
+ name: memfs
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.3
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.3
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: bundler
15
57
  requirement: !ruby/object:Gem::Requirement
@@ -17,7 +59,7 @@ dependencies:
17
59
  - - "~>"
18
60
  - !ruby/object:Gem::Version
19
61
  version: '1.7'
20
- type: :development
62
+ type: :runtime
21
63
  prerelease: false
22
64
  version_requirements: !ruby/object:Gem::Requirement
23
65
  requirements:
@@ -60,6 +102,8 @@ extensions: []
60
102
  extra_rdoc_files: []
61
103
  files:
62
104
  - ".gitignore"
105
+ - ".rspec"
106
+ - ".travis.yml"
63
107
  - Gemfile
64
108
  - LICENSE
65
109
  - README.md
@@ -76,6 +120,10 @@ files:
76
120
  - lib/sql_migrations/tasks/seed.rake
77
121
  - lib/sql_migrations/tasks/seed_test.rake
78
122
  - lib/sql_migrations/version.rb
123
+ - spec/features/migration_spec.rb
124
+ - spec/features/schema_table_spec.rb
125
+ - spec/features/sql_scripts_spec.rb
126
+ - spec/spec_helper.rb
79
127
  - sql_migrations.gemspec
80
128
  homepage: http://github.com/grzesiek/sql-migrations
81
129
  licenses:
@@ -97,9 +145,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
145
  version: '0'
98
146
  requirements: []
99
147
  rubyforge_project:
100
- rubygems_version: 2.2.2
148
+ rubygems_version: 2.4.5
101
149
  signing_key:
102
150
  specification_version: 4
103
151
  summary: Simple standalone migrations you can use with plain SQL
104
- test_files: []
105
- has_rdoc:
152
+ test_files:
153
+ - spec/features/migration_spec.rb
154
+ - spec/features/schema_table_spec.rb
155
+ - spec/features/sql_scripts_spec.rb
156
+ - spec/spec_helper.rb