enju_seed 0.3.2 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -0
  3. data/Rakefile +1 -1
  4. data/app/controllers/profiles_controller.rb +3 -3
  5. data/app/controllers/roles_controller.rb +1 -1
  6. data/app/models/concerns/enju_seed/enju_user.rb +7 -7
  7. data/app/models/identity.rb +1 -1
  8. data/app/models/profile.rb +2 -2
  9. data/app/models/role.rb +2 -2
  10. data/app/models/user_has_role.rb +1 -4
  11. data/app/views/roles/_form.html.erb +1 -1
  12. data/app/views/roles/show.html.erb +0 -5
  13. data/lib/enju_seed/version.rb +1 -1
  14. data/lib/generators/enju_seed/setup/setup_generator.rb +9 -0
  15. data/lib/generators/enju_seed/setup/templates/db/fixtures/roles.yml +38 -0
  16. data/lib/tasks/enju_seed_tasks.rake +8 -4
  17. data/spec/controllers/profiles_controller_spec.rb +8 -0
  18. data/spec/dummy/app/models/application_record.rb +3 -0
  19. data/spec/dummy/app/models/user.rb +1 -1
  20. data/spec/dummy/config/application.rb +1 -1
  21. data/spec/dummy/config/webpack/development.js +5 -0
  22. data/spec/dummy/config/webpack/environment.js +11 -0
  23. data/spec/dummy/config/webpack/production.js +5 -0
  24. data/spec/dummy/config/webpack/test.js +5 -0
  25. data/spec/dummy/config/webpacker.yml +95 -0
  26. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +0 -8
  27. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +11 -0
  28. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +11 -0
  29. data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +9 -0
  30. data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +9 -0
  31. data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +9 -0
  32. data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +9 -0
  33. data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +6 -0
  34. data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +9 -0
  35. data/spec/dummy/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +11 -0
  36. data/spec/dummy/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +11 -0
  37. data/spec/dummy/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +11 -0
  38. data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +5 -0
  39. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +13 -0
  40. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +13 -0
  41. data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +13 -0
  42. data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +13 -0
  43. data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +13 -0
  44. data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +13 -0
  45. data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +13 -0
  46. data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +13 -0
  47. data/spec/dummy/db/migrate/20181026064038_add_login_banner_to_library_group.rb +6 -0
  48. data/spec/dummy/db/migrate/20181030072731_add_not_null_to_position_on_carrier_type.rb +14 -0
  49. data/spec/dummy/db/migrate/20181030074920_add_not_null_to_position_on_library.rb +14 -0
  50. data/spec/dummy/db/migrate/20190208135957_create_active_storage_tables.active_storage.rb +27 -0
  51. data/spec/dummy/db/migrate/20190311154610_create_periodicals.rb +10 -0
  52. data/spec/dummy/db/migrate/20190314151124_add_full_name_translations_to_create.rb +7 -0
  53. data/spec/dummy/db/schema.rb +116 -25
  54. data/spec/models/user_has_role_spec.rb +0 -1
  55. data/spec/views/profiles/show.html.erb_spec.rb +1 -1
  56. data/spec/views/roles/edit.html.erb_spec.rb +18 -0
  57. data/spec/views/roles/index.html.erb_spec.rb +14 -0
  58. data/spec/views/roles/new.html.erb_spec.rb +18 -0
  59. data/spec/views/roles/show.html.erb_spec.rb +14 -0
  60. metadata +388 -258
  61. data/README.rdoc +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b9840693279f858c771db87616a36faac54f576468c54fbe7f90ee3353b323d
4
- data.tar.gz: 3bfbfdbaf6b9f76e53692c8e4bdf297d6a7926bfcf61efc6a0b980b062ccf69f
3
+ metadata.gz: 954c50f3db39ed75d15e494f3abe93af699556e4981fbf21ea8dad5ea6f8b8b1
4
+ data.tar.gz: 35991b1a992c6b70e0726dcaa35faf211faa75c997f51717d8260a9c706ef41f
5
5
  SHA512:
6
- metadata.gz: b83d9d6441b55998b8553c6fa56c3433f657c5105cb82ed3cfbae77abc8a83f61c2057b6df71b56e50501cd4ba520579c911dd3a7e039e0af6fadd1b85aed03b
7
- data.tar.gz: e3c548f4bc03ba8ec07507be460c1d97c60f1c4c537e71f62b538ead89f3ffbf92e2403a58b3a46807c7c42eec978e76cc7b8be429e82b11267dfde55bb62346
6
+ metadata.gz: 202247de7ec8a79ba7cb7a5844b7d6d25668a7cdb4f40af97c740bf6d6c2068262e06791c4317d07fdc733568bd53a539be6137ec73e7c3f45c17c106a3cda32
7
+ data.tar.gz: cb12be922423784e642770a0ddbdbeabfbfa78d78bb9aee8d640c9768a4400b1ad67a91faac531cf4b0caecf77c6b6bb20ff2f04abc92ca2d5cd2e47e24ab78a
data/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # EnjuSeed
2
+ [![Travis CI](https://travis-ci.com/next-l/enju_seed.svg?branch=1.3)](https://travis-ci.com/next-l/enju_seed)
3
+ [![Coverage Status](https://coveralls.io/repos/github/next-l/enju_seed/badge.svg?branch=1.3)](https://coveralls.io/github/next-l/enju_seed?branch=1.3)
4
+ [![security](https://hakiri.io/github/next-l/enju_seed/1.3.svg)](https://hakiri.io/github/next-l/enju_seed/1.3)
5
+
6
+ This project rocks and uses MIT-LICENSE.
7
+
8
+ ## 製作者・貢献者 (Authors and contributors)
9
+ * [TANABE, Kosuke](https://github.com/nabeta) ([@nabeta](https://twitter.com/nabeta))
10
+ * [Project Next-L](https://www.next-l.jp) ([@ProjectNextL](https://twitter.com/ProjectNextL))
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
11
  rdoc.title = 'EnjuSeed'
12
12
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
@@ -8,7 +8,7 @@ class ProfilesController < ApplicationController
8
8
  # GET /profiles.json
9
9
  def index
10
10
  if params[:username].present?
11
- profile = User.where(username: params[:username]).first.try(:profile)
11
+ profile = User.find_by(username: params[:username]).try(:profile)
12
12
  if profile
13
13
  redirect_to profile
14
14
  return
@@ -116,7 +116,7 @@ class ProfilesController < ApplicationController
116
116
  respond_to do |format|
117
117
  if @profile.save
118
118
  if @profile.user
119
- @profile.user.role = Role.where(name: 'User').first
119
+ @profile.user.role = Role.find_by(name: 'User')
120
120
  flash[:temporary_password] = password
121
121
  end
122
122
  format.html { redirect_to @profile, notice: t('controller.successfully_created', model: t('activerecord.models.profile')) }
@@ -132,7 +132,7 @@ class ProfilesController < ApplicationController
132
132
  # PUT /profiles/1
133
133
  # PUT /profiles/1.json
134
134
  def update
135
- @profile.update_attributes(profile_update_params)
135
+ @profile.update(profile_update_params)
136
136
  if @profile.user
137
137
  if @profile.user.auto_generated_password == "1"
138
138
  password = @profile.user.set_auto_generated_password
@@ -35,7 +35,7 @@ class RolesController < ApplicationController
35
35
  end
36
36
 
37
37
  respond_to do |format|
38
- if @role.update_attributes(role_params)
38
+ if @role.update(role_params)
39
39
  format.html { redirect_to @role, notice: t('controller.successfully_updated', model: t('activerecord.models.role')) }
40
40
  format.json { head :no_content }
41
41
  else
@@ -57,7 +57,7 @@ module EnjuSeed
57
57
 
58
58
  # ユーザの情報をエクスポートします。
59
59
  # @param [Hash] options
60
- def self.export(options = {format: :txt})
60
+ def self.export(options = {format: :text})
61
61
  header = %w(
62
62
  username
63
63
  full_name
@@ -113,7 +113,7 @@ module EnjuSeed
113
113
  end
114
114
  lines << line
115
115
  }
116
- if options[:format] == :txt
116
+ if options[:format] == :text
117
117
  lines.map{|line| line.to_csv(col_sep: "\t")}.unshift(header.to_csv(col_sep: "\t")).join
118
118
  else
119
119
  lines
@@ -147,9 +147,9 @@ module EnjuSeed
147
147
 
148
148
  # ユーザに使用不可の設定を反映させます。
149
149
  def set_lock_information
150
- if locked == '1' and self.active_for_authentication?
150
+ if locked == '1' and active_for_authentication?
151
151
  lock_access!
152
- elsif locked == '0' and !self.active_for_authentication?
152
+ elsif locked == '0' and !active_for_authentication?
153
153
  unlock_access!
154
154
  end
155
155
  end
@@ -176,7 +176,7 @@ module EnjuSeed
176
176
  # @return [Object]
177
177
  def check_role_before_destroy
178
178
  if has_role?('Administrator')
179
- if Role.where(name: 'Administrator').first.users.count == 1
179
+ if Role.find_by(name: 'Administrator').users.count == 1
180
180
  raise username + 'This is the last administrator in this system.'
181
181
  end
182
182
  end
@@ -209,7 +209,7 @@ module EnjuSeed
209
209
  # @return [Boolean]
210
210
  def last_librarian?
211
211
  if has_role?('Librarian')
212
- role = Role.where(name: 'Librarian').first
212
+ role = Role.find_by(name: 'Librarian')
213
213
  return true if role.users.count == 1
214
214
  false
215
215
  end
@@ -244,7 +244,7 @@ module EnjuSeed
244
244
 
245
245
  # 最後の管理者を削除しようとした
246
246
  if has_role?('Administrator')
247
- if Role.where(name: 'Administrator').first.users.count == 1
247
+ if Role.find_by(name: 'Administrator').users.count == 1
248
248
  errors[:base] << I18n.t('user.last_administrator')
249
249
  end
250
250
  end
@@ -1,4 +1,4 @@
1
- class Identity < ActiveRecord::Base
1
+ class Identity < ApplicationRecord
2
2
  belongs_to :profile
3
3
  validates :name, presence: true, uniqueness: {scope: :provider}
4
4
  validates :provider, presence: true
@@ -1,4 +1,4 @@
1
- class Profile < ActiveRecord::Base
1
+ class Profile < ApplicationRecord
2
2
  scope :administrators, -> { joins(user: :role).where('roles.name = ?', 'Administrator') }
3
3
  scope :librarians, -> { joins(user: :role).where('roles.name = ? OR roles.name = ?', 'Administrator', 'Librarian') }
4
4
  belongs_to :user, dependent: :destroy, optional: true
@@ -50,7 +50,7 @@ class Profile < ActiveRecord::Base
50
50
  # 既定のユーザ権限を設定します。
51
51
  # @return [void]
52
52
  def set_role_and_agent
53
- self.required_role = Role.where(name: 'Librarian').first unless required_role
53
+ self.required_role = Role.find_by(name: 'Librarian') unless required_role
54
54
  self.locale = I18n.default_locale.to_s unless locale
55
55
  end
56
56
 
data/app/models/role.rb CHANGED
@@ -1,4 +1,4 @@
1
- class Role < ActiveRecord::Base
1
+ class Role < ApplicationRecord
2
2
  include MasterModel
3
3
  validates :name, presence: true, format: { with: /\A[A-Za-z][a-z_,]*[a-z]\z/ }
4
4
  has_many :user_has_roles
@@ -26,7 +26,7 @@ class Role < ActiveRecord::Base
26
26
  end
27
27
 
28
28
  def self.default_role
29
- Role.where(name: 'Guest').first
29
+ Role.find_by(name: 'Guest')
30
30
  end
31
31
 
32
32
  private
@@ -1,10 +1,7 @@
1
- class UserHasRole < ActiveRecord::Base
1
+ class UserHasRole < ApplicationRecord
2
2
  belongs_to :user
3
3
  belongs_to :role
4
4
  accepts_nested_attributes_for :role
5
-
6
- # validates_uniqueness_of :role_id, scope: :user_id
7
- # validates_presence_of :role_id, :user_id
8
5
  end
9
6
 
10
7
  # == Schema Information
@@ -3,7 +3,7 @@
3
3
 
4
4
  <div class="field">
5
5
  <%= f.label :name %><br />
6
- <%= f.text_field :name %>
6
+ <%= f.text_field :name, required: true %>
7
7
  </div>
8
8
  <div class="field">
9
9
  <%= f.label :display_name %><br />
@@ -13,11 +13,6 @@
13
13
  <%= @role.display_name.localize -%>
14
14
  </p>
15
15
 
16
- <p>
17
- <strong><%= t('activerecord.attributes.role.score') -%>:</strong>
18
- <%= @role.score -%>
19
- </p>
20
-
21
16
  <p>
22
17
  <strong><%= t('activerecord.attributes.role.note') -%>:</strong>
23
18
  <%= @role.note -%>
@@ -1,3 +1,3 @@
1
1
  module EnjuSeed
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.6".freeze
3
3
  end
@@ -0,0 +1,9 @@
1
+ class EnjuSeed::SetupGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('../templates', __FILE__)
3
+ desc "Create a setup file for Next-L Enju"
4
+
5
+ def copy_setup_files
6
+ directory("db/fixtures", "db/fixtures/enju_seed")
7
+ rake("enju_seed_engine:install:migrations")
8
+ end
9
+ end
@@ -0,0 +1,38 @@
1
+ ---
2
+ role_00001:
3
+ name: Guest
4
+ display_name: Guest
5
+ id: 1
6
+ note:
7
+ position: 1
8
+ role_00002:
9
+ name: User
10
+ display_name: User
11
+ id: 2
12
+ note:
13
+ position: 2
14
+ role_00003:
15
+ name: Librarian
16
+ display_name: Librarian
17
+ id: 3
18
+ note:
19
+ position: 3
20
+ role_00004:
21
+ name: Administrator
22
+ display_name: Administrator
23
+ id: 4
24
+ note:
25
+ position: 4
26
+
27
+ # == Schema Information
28
+ #
29
+ # Table name: roles
30
+ #
31
+ # id :bigint(8) not null, primary key
32
+ # name :string not null
33
+ # display_name_translations :jsonb not null
34
+ # note :text
35
+ # position :integer
36
+ # created_at :datetime not null
37
+ # updated_at :datetime not null
38
+ #
@@ -1,4 +1,8 @@
1
- # desc "Explaining what the task does"
2
- # task :enju_seed do
3
- # # Task goes here
4
- # end
1
+ namespace :enju_seed do
2
+ desc "create initial records for enju_seed"
3
+ task setup: :environment do
4
+ Dir.glob(Rails.root.to_s + '/db/fixtures/enju_seed/*.yml').each do |file|
5
+ ActiveRecord::FixtureSet.create_fixtures('db/fixtures/enju_seed', File.basename(file, '.*'))
6
+ end
7
+ end
8
+ end
@@ -418,6 +418,14 @@ describe ProfilesController do
418
418
  assigns(:profile).user.locked_at.should be_truthy
419
419
  assigns(:profile).user.access_locked?.should be_truthy
420
420
  end
421
+
422
+ it "should unlock other user" do
423
+ profiles(:user1).user.lock_access!
424
+ put :update, params: { id: profiles(:user1).id, profile: { user_attributes: { id: 3, locked: '0', username: 'user1' } } }
425
+ response.should redirect_to profile_url(assigns(:profile))
426
+ expect(assigns(:profile).user.locked_at).to be_falsy
427
+ expect(assigns(:profile).user.access_locked?).to be_falsy
428
+ end
421
429
  end
422
430
 
423
431
  describe "When logged in as User" do
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -1,4 +1,4 @@
1
- class User < ActiveRecord::Base
1
+ class User < ApplicationRecord
2
2
  devise :database_authenticatable, #:registerable,
3
3
  :recoverable, :rememberable, :trackable, #, :validatable
4
4
  :lockable, lock_strategy: :none, unlock_strategy: :none
@@ -9,7 +9,7 @@ require "enju_leaf"
9
9
  module Dummy
10
10
  class Application < Rails::Application
11
11
  # Initialize configuration defaults for originally generated Rails version.
12
- config.load_defaults 5.1
12
+ config.load_defaults 5.2
13
13
 
14
14
  # Settings in config/environments/* take precedence over those specified here.
15
15
  # Application configuration should go into files in config/initializers
@@ -0,0 +1,5 @@
1
+ process.env.NODE_ENV = process.env.NODE_ENV || 'development'
2
+
3
+ const environment = require('./environment')
4
+
5
+ module.exports = environment.toWebpackConfig()
@@ -0,0 +1,11 @@
1
+ const { environment } = require('@rails/webpacker')
2
+ const webpack = require('webpack')
3
+ environment.plugins.prepend(
4
+ 'Provide',
5
+ new webpack.ProvidePlugin({
6
+ $: 'jquery',
7
+ jQuery: 'jquery'
8
+ })
9
+ )
10
+
11
+ module.exports = environment
@@ -0,0 +1,5 @@
1
+ process.env.NODE_ENV = process.env.NODE_ENV || 'production'
2
+
3
+ const environment = require('./environment')
4
+
5
+ module.exports = environment.toWebpackConfig()
@@ -0,0 +1,5 @@
1
+ process.env.NODE_ENV = process.env.NODE_ENV || 'development'
2
+
3
+ const environment = require('./environment')
4
+
5
+ module.exports = environment.toWebpackConfig()
@@ -0,0 +1,95 @@
1
+ # Note: You must restart bin/webpack-dev-server for changes to take effect
2
+
3
+ default: &default
4
+ source_path: app/javascript
5
+ source_entry_path: packs
6
+ public_root_path: public
7
+ public_output_path: packs
8
+ cache_path: tmp/cache/webpacker
9
+ check_yarn_integrity: false
10
+ webpack_compile_output: false
11
+
12
+ # Additional paths webpack should lookup modules
13
+ # ['app/assets', 'engine/foo/app/assets']
14
+ resolved_paths: []
15
+
16
+ # Reload manifest.json on all requests so we reload latest compiled packs
17
+ cache_manifest: false
18
+
19
+ # Extract and emit a css file
20
+ extract_css: false
21
+
22
+ static_assets_extensions:
23
+ - .jpg
24
+ - .jpeg
25
+ - .png
26
+ - .gif
27
+ - .tiff
28
+ - .ico
29
+ - .svg
30
+ - .eot
31
+ - .otf
32
+ - .ttf
33
+ - .woff
34
+ - .woff2
35
+
36
+ extensions:
37
+ - .mjs
38
+ - .js
39
+ - .sass
40
+ - .scss
41
+ - .css
42
+ - .module.sass
43
+ - .module.scss
44
+ - .module.css
45
+ - .png
46
+ - .svg
47
+ - .gif
48
+ - .jpeg
49
+ - .jpg
50
+
51
+ development:
52
+ <<: *default
53
+ compile: true
54
+
55
+ # Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules
56
+ check_yarn_integrity: true
57
+
58
+ # Reference: https://webpack.js.org/configuration/dev-server/
59
+ dev_server:
60
+ https: false
61
+ host: localhost
62
+ port: 3035
63
+ public: localhost:3035
64
+ hmr: false
65
+ # Inline should be set to true if using HMR
66
+ inline: true
67
+ overlay: true
68
+ compress: true
69
+ disable_host_check: true
70
+ use_local_ip: false
71
+ quiet: false
72
+ headers:
73
+ 'Access-Control-Allow-Origin': '*'
74
+ watch_options:
75
+ ignored: '**/node_modules/**'
76
+
77
+
78
+ test:
79
+ <<: *default
80
+ compile: true
81
+
82
+ # Compile test packs to a separate directory
83
+ public_output_path: packs-test
84
+
85
+ production:
86
+ <<: *default
87
+
88
+ # Production depends on precompilation of packs prior to booting for performance.
89
+ compile: false
90
+
91
+ # Extract and emit a css file
92
+ extract_css: true
93
+
94
+ # Cache manifest.json for performance
95
+ cache_manifest: true
@@ -8,19 +8,11 @@ class AddTranslationTableToLibraryGroup < ActiveRecord::Migration[4.2]
8
8
  migrate_data: true
9
9
  })
10
10
  end
11
-
12
- if defined?(AwesomeHstoreTranslate)
13
- add_column :library_groups, :login_banner, :hstore
14
- end
15
11
  end
16
12
 
17
13
  def down
18
14
  if defined?(Globalize)
19
15
  LibraryGroup.drop_translation_table! migrate_data: true
20
16
  end
21
-
22
- if defined?(AwesomeHstoreTranslate)
23
- remove_column :library_groups, :login_banner
24
- end
25
17
  end
26
18
  end
@@ -0,0 +1,11 @@
1
+ class CreateIssnRecords < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :issn_records do |t|
4
+ t.string :body, index: {unique: true}, null: false
5
+ t.string :issn_type
6
+ t.string :source
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class CreateIsbnRecords < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :isbn_records do |t|
4
+ t.string :body, index: {unique: true}, null: false
5
+ t.string :isbn_type
6
+ t.string :source
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToImportRequestTransitions < ActiveRecord::Migration[4.2]
2
+ def up
3
+ add_column :import_request_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :import_request_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToResourceImportFileTransitions < ActiveRecord::Migration[4.2]
2
+ def up
3
+ add_column :resource_import_file_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :resource_import_file_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToResourceExportFileTransitions < ActiveRecord::Migration[4.2]
2
+ def up
3
+ add_column :resource_export_file_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :resource_export_file_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToAgentImportFileTransitions < ActiveRecord::Migration[4.2]
2
+ def up
3
+ add_column :agent_import_file_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :agent_import_file_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ class AddPictureWidthToPictureFile < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_column :picture_files, :picture_width, :integer
4
+ add_column :picture_files, :picture_height, :integer
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToMessageRequestTransitions < ActiveRecord::Migration[5.2]
2
+ def up
3
+ add_column :message_request_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :message_request_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class AddAttachmentAttachmentToCarrierTypes < ActiveRecord::Migration[4.2]
2
+ def self.up
3
+ change_table :carrier_types do |t|
4
+ t.attachment :attachment
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ remove_attachment :carrier_types, :attachment
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class CreateIssnRecordAndManifestations < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :issn_record_and_manifestations do |t|
4
+ t.references :issn_record, foreign_key: true, on_delete: :cascade, null: false
5
+ t.references :manifestation, foreign_key: true, on_delete: :cascade, null: false
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class CreateIsbnRecordAndManifestations < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :isbn_record_and_manifestations do |t|
4
+ t.references :isbn_record, foreign_key: true, on_delete: :cascade, null: false
5
+ t.references :manifestation, foreign_key: true, null: false, on_delete: :cascade
6
+ t.integer :position
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class SetNotNullToManifestationIdOnItems < ActiveRecord::Migration[4.2]
2
+ def change
3
+ change_column_null :items, :manifestation_id, false
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForUserImportFileTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :user_import_file_transitions, [:user_import_file_id, :most_recent], unique: true, where: "most_recent", name: "index_user_import_file_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :user_import_file_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :user_import_file_transitions, name: "index_user_import_file_transitions_parent_most_recent"
11
+ change_column_null :user_import_file_transitions, :most_recent, true
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForUserExportFileTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :user_export_file_transitions, [:user_export_file_id, :most_recent], unique: true, where: "most_recent", name: "index_user_export_file_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :user_export_file_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :user_export_file_transitions, name: "index_user_export_file_transitions_parent_most_recent"
11
+ change_column_null :user_export_file_transitions, :most_recent, true
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForAgentImportFileTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :agent_import_file_transitions, [:agent_import_file_id, :most_recent], unique: true, where: "most_recent", name: "index_agent_import_file_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :agent_import_file_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :agent_import_file_transitions, name: "index_agent_import_file_transitions_parent_most_recent"
11
+ change_column_null :agent_import_file_transitions, :most_recent, true
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForResourceImportFileTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :resource_import_file_transitions, [:resource_import_file_id, :most_recent], unique: true, where: "most_recent", name: "index_resource_import_file_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :resource_import_file_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :resource_import_file_transitions, name: "index_resource_import_file_transitions_parent_most_recent"
11
+ change_column_null :resource_import_file_transitions, :most_recent, true
12
+ end
13
+ end