sql_migrations 1.0.0 → 1.1.0
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.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/.travis.yml +3 -0
- data/README.md +138 -135
- data/Rakefile +4 -0
- data/lib/sql_migrations/database.rb +11 -7
- data/lib/sql_migrations/sql_script.rb +1 -1
- data/lib/sql_migrations/version.rb +1 -1
- data/spec/features/migration_spec.rb +34 -0
- data/spec/features/schema_table_spec.rb +26 -0
- data/spec/features/sql_scripts_spec.rb +30 -0
- data/spec/spec_helper.rb +16 -0
- data/sql_migrations.gemspec +6 -3
- metadata +57 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c161cf11a737f57288204c4743855bb7ea87d47
|
4
|
+
data.tar.gz: 1d0760c754c81ee792c2dd6630182d6f20e82f24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dad9f6a31134633ac2f14aa74e208dd96292358f34f7214a7ae1230d416ce991b1df78c27691d58a366ff6af67e336d9970f924688bd7d02f0d4d4866de06e32
|
7
|
+
data.tar.gz: d8ec3f6f6c0bfb69ea0bff00176bb0f24cb33fc8f61e7bad4b9bfe8b560d5fd623e6a40a028aa9673ea5865c9ceedf6e23026851682342dda5819d0fdd93e470
|
data/.rspec
ADDED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,181 +1,184 @@
|
|
1
1
|
# sql-migrations
|
2
2
|
|
3
|
-
|
3
|
+
[](http://badge.fury.io/rb/sql_migrations)
|
4
|
+
[](https://travis-ci.org/grzesiek/sql-migrations)
|
4
5
|
|
5
|
-
|
6
|
-
|
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
|
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
|
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.
|
20
|
-
2.
|
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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
gem 'sql_migrations'
|
26
|
-
```
|
25
|
+
source 'https://rubygems.org'
|
26
|
+
gem 'mysql2'
|
27
|
+
gem 'sql_migrations'
|
27
28
|
|
28
|
-
|
29
|
-
|
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
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
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.
|
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
|
-
|
109
|
-
|
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
|
-
|
106
|
+
You can put plain SQL into that files.
|
114
107
|
|
115
|
-
2.
|
108
|
+
2. It is possible to create migration files, seed files and fixtures inside followig directory structure:
|
116
109
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
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
|
-
|
118
|
+
If you want to use multiple databases, create also database directories:
|
125
119
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
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
|
-
|
131
|
+
`default/` directory is optional, you can put migrations/seed data/fixtures for default database in base directories:
|
138
132
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
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.
|
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
|
-
|
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
|
-
|
155
|
-
rake
|
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.
|
165
|
+
6. Enviroment variables
|
159
166
|
|
160
|
-
|
167
|
+
If you want to run migration on different database (for example test) specify ENV:
|
161
168
|
|
162
|
-
|
163
|
-
|
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
|
-
|
172
|
+
or in production:
|
168
173
|
|
169
|
-
|
170
|
-
|
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.
|
177
|
-
2.
|
178
|
-
3.
|
179
|
+
1. Tests
|
180
|
+
2. Generator for `databases.yml`
|
181
|
+
3. Generator for migrations
|
179
182
|
|
180
183
|
## License
|
181
184
|
|
data/Rakefile
CHANGED
@@ -7,12 +7,7 @@ module SqlMigrations
|
|
7
7
|
def initialize(options)
|
8
8
|
@name = options[:name] || :default
|
9
9
|
begin
|
10
|
-
@db =
|
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
|
@@ -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
|
data/spec/spec_helper.rb
ADDED
@@ -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
|
data/sql_migrations.gemspec
CHANGED
@@ -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 '
|
21
|
-
spec.
|
22
|
-
spec.
|
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.
|
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-
|
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: :
|
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.
|
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
|
-
|
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
|