padrino-gen 0.18.0 → 0.18.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '039917b81dc2bfbb846774da7452682d6f29af8bc1f4d76609b2ec10d8392912'
4
- data.tar.gz: 451d8a83d39747bf6648d0b434f211a4571e5694f5cc70b45e9f9844ef7bfa7c
3
+ metadata.gz: c4448d5c06e96f94cb3a755c45aad78cc4c165a46d2bbfd5e0e4877752a3c62e
4
+ data.tar.gz: 9369d73576359e1e6822fcf5b1e16ed7d9b260d58e590e68ec1b05f4a72aae07
5
5
  SHA512:
6
- metadata.gz: c0769c35ccfe2cff70e99aa0c137b825e285e831649945d18e07e5ea72b44efcc1214f3fb3ebc63661d0b0c8371e84c78dcb5fff6b7472471c83176e3dd1b40e
7
- data.tar.gz: 45b9f905e803023d7932ceb487ade75bbcd5df395754f820cc86626176de272bb422ef5696d3665027b80f7a8f1d34436f266b02c8bb27d9938fbbcce410baf1
6
+ metadata.gz: ce8e276bf3f3798b3b79e3a191468cdfcd4f27a26310d1cb50507adaf54e59140296aa9bb051d7d83dfbe082be52f8d44649baa798837291e175535269043ca2
7
+ data.tar.gz: 19f53b8782f89cda59af35268bc5bca05fc45b9be2ea39180898979855548f06253378a0f9d5614532e2e3926a5a15414b23aaa7dc7e14350788d87867d1bab9
@@ -242,7 +242,10 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
242
242
  desc 'Create a db/schema.rb file that can be portably used against any DB supported by AR.'
243
243
  task dump: :skeleton do
244
244
  require 'active_record/schema_dumper'
245
- File.open(ENV['SCHEMA'] || Padrino.root('db', 'schema.rb'), 'w') do |file|
245
+ # A project on a database server has no db/ until its first migration is generated.
246
+ schema_file = ENV['SCHEMA'] || Padrino.root('db', 'schema.rb')
247
+ FileUtils.mkdir_p(File.dirname(schema_file))
248
+ File.open(schema_file, 'w') do |file|
246
249
  ActiveRecord::SchemaDumper.dump(schema_dumper_source, file)
247
250
  end
248
251
  Rake::Task['ar:schema:dump'].reenable
@@ -261,6 +264,7 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
261
264
  namespace :structure do
262
265
  desc 'Dump the database structure to a SQL file.'
263
266
  task dump: :skeleton do
267
+ FileUtils.mkdir_p(File.dirname(resolve_structure_sql))
264
268
  with_database(Padrino.env) do |config|
265
269
  case config[:adapter]
266
270
  when 'mysql', 'mysql2', 'em_mysql2', 'oci', 'oracle', 'jdbcmysql'
@@ -142,6 +142,13 @@ describe 'ActiveRecord tasks' do
142
142
  assert_match(/create_table "widgets"/, schema)
143
143
  end
144
144
 
145
+ it 'should migrate a new project on a server database, which has no db directory yet' do
146
+ FileUtils.rm_rf(File.join(@root, 'db'))
147
+ File.write(File.join(@root, 'config', 'boot.rb'), File.read(File.join(@root, 'config', 'boot.rb')).sub("Padrino.root('db', 'development.db')", "Padrino.root('development.db')"))
148
+ rake('ar:migrate')
149
+ assert_includes schema, 'ActiveRecord::Schema'
150
+ end
151
+
145
152
  it 'should dump the schema after ar:migrate:down and ar:migrate:up' do
146
153
  rake 'ar:migrate'
147
154
  rake 'ar:migrate:down', 'MIGRATION_VERSION=1'
@@ -163,6 +170,15 @@ describe 'ActiveRecord tasks' do
163
170
  assert_match(/INSERT INTO "schema_migrations" \(version\) VALUES\s*\('1'\)/, structure)
164
171
  end
165
172
 
173
+ it 'should dump the structure when there is no db directory yet' do
174
+ skip_without_sqlite_cli
175
+ File.write(File.join(@root, 'config', 'boot.rb'), File.read(File.join(@root, 'config', 'boot.rb')).sub("Padrino.root('db', 'development.db')", "Padrino.root('development.db')"))
176
+ rake 'ar:migrate'
177
+ FileUtils.rm_rf(File.join(@root, 'db'))
178
+ rake 'ar:structure:dump'
179
+ assert_file_exists File.join(@root, 'db', 'development_structure.sql')
180
+ end
181
+
166
182
  def rake_failing(*args)
167
183
  libs = %w[padrino-core padrino-gen].flat_map { |name| ['-I', File.expand_path("../../#{name}/lib", __dir__)] }
168
184
  env = { 'RACK_ENV' => 'development', 'BUNDLE_GEMFILE' => File.expand_path('../../Gemfile', __dir__) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.18.0
22
+ version: 0.18.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.18.0
29
+ version: 0.18.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -53,28 +53,28 @@ dependencies:
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.18.0
56
+ version: 0.18.1
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.18.0
63
+ version: 0.18.1
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: padrino-mailer
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.18.0
70
+ version: 0.18.1
71
71
  type: :development
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.18.0
77
+ version: 0.18.1
78
78
  description: Generators for easily creating and building padrino applications from
79
79
  the console
80
80
  email: padrinorb@gmail.com