enju_oai 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +11 -0
  3. data/app/controllers/oai_controller.rb +1 -0
  4. data/app/views/oai/list_identifiers.xml.builder +8 -10
  5. data/app/views/oai/list_records.xml.builder +16 -18
  6. data/lib/enju_oai/oai_controller.rb +1 -0
  7. data/lib/enju_oai/version.rb +1 -1
  8. data/spec/cassette_library/oai/list_records_xml_builder/when_metadataPrefix_is_dcndl/renders_well-formed_XML.yml +25 -24
  9. data/spec/controllers/oai_controller_spec.rb +25 -0
  10. data/spec/dummy/app/models/application_record.rb +3 -0
  11. data/spec/dummy/config/application.rb +1 -1
  12. data/spec/dummy/config/database.yml +17 -22
  13. data/spec/dummy/db/migrate/059_create_libraries.rb +3 -5
  14. data/spec/dummy/db/migrate/069_create_shelves.rb +1 -2
  15. data/spec/dummy/db/migrate/080_create_library_groups.rb +1 -2
  16. data/spec/dummy/db/migrate/120_create_baskets.rb +1 -2
  17. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +2 -5
  18. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +1 -2
  19. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +0 -2
  20. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +2 -2
  21. data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +2 -4
  22. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +3 -6
  23. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +1 -1
  24. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +2 -2
  25. data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +4 -5
  26. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +1 -2
  27. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +1 -1
  28. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +1 -1
  29. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +1 -1
  30. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +1 -1
  31. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +1 -3
  32. data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +5 -0
  33. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +3 -5
  34. data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +6 -0
  35. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +11 -6
  36. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +15 -2
  37. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +5 -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/20180102162311_add_header_logo_meta_to_library_group.rb +5 -0
  40. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +13 -0
  41. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +13 -0
  42. data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +13 -0
  43. data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +13 -0
  44. data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +13 -0
  45. data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +13 -0
  46. data/spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb +5 -0
  47. data/spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb +5 -0
  48. data/spec/dummy/db/migrate/20191219122214_create_custom_properties.rb +12 -0
  49. data/spec/dummy/db/migrate/20200425072340_create_manifestation_custom_properties.rb +12 -0
  50. data/spec/dummy/db/migrate/20200425072349_create_item_custom_properties.rb +12 -0
  51. data/spec/dummy/db/migrate/20200425074758_create_manifestation_custom_values.rb +12 -0
  52. data/spec/dummy/db/migrate/20200425074822_create_item_custom_values.rb +12 -0
  53. data/spec/dummy/db/schema.rb +86 -16
  54. data/spec/factories/user.rb +6 -15
  55. data/spec/views/oai/list_identifiers.xml.builder_spec.rb +11 -4
  56. data/spec/views/oai/list_records.xml.builder_spec.rb +32 -20
  57. metadata +360 -295
  58. data/README.rdoc +0 -10
@@ -1,12 +1,10 @@
1
1
  class CreateUserHasRoles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :user_has_roles do |t|
4
- t.integer :user_id
5
- t.integer :role_id
4
+ t.references :user, index: true, foreign_key: true, null: false
5
+ t.references :role, index: true, foreign_key: true, null: false
6
6
 
7
7
  t.timestamps
8
8
  end
9
- add_index :user_has_roles, :user_id
10
- add_index :user_has_roles, :role_id
11
9
  end
12
10
  end
@@ -1,14 +1,11 @@
1
1
  class CreateAccepts < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :accepts do |t|
4
- t.integer :basket_id
5
- t.integer :item_id
6
- t.integer :librarian_id
4
+ t.references :basket, index: true
5
+ t.references :item, index: true
6
+ t.references :librarian, index: true
7
7
 
8
8
  t.timestamps
9
9
  end
10
-
11
- add_index :accepts, :basket_id
12
- add_index :accepts, :item_id
13
10
  end
14
11
  end
@@ -1,7 +1,7 @@
1
1
  class CreateUserImportFiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :user_import_files do |t|
4
- t.integer :user_id
4
+ t.references :user, index: true
5
5
  t.text :note
6
6
  t.datetime :executed_at
7
7
  t.string :user_import_file_name
@@ -1,8 +1,8 @@
1
1
  class CreateUserImportResults < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :user_import_results do |t|
4
- t.integer :user_import_file_id
5
- t.integer :user_id
4
+ t.references :user_import_file, index: true
5
+ t.references :user, index: true
6
6
  t.text :body
7
7
 
8
8
  t.timestamps
@@ -1,20 +1,19 @@
1
1
  class CreateProfiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :profiles do |t|
4
- t.integer :user_id
5
- t.integer :user_group_id
6
- t.integer :library_id
4
+ t.references :user, index: true, foreign_key: true
5
+ t.references :user_group, index: true
6
+ t.references :library, index: true
7
7
  t.string :locale
8
8
  t.string :user_number
9
9
  t.text :full_name
10
10
  t.text :note
11
11
  t.text :keyword_list
12
- t.integer :required_role_id
12
+ t.references :required_role, index: false
13
13
 
14
14
  t.timestamps
15
15
  end
16
16
 
17
- add_index :profiles, :user_id
18
17
  add_index :profiles, :user_number, unique: true
19
18
  end
20
19
  end
@@ -8,11 +8,10 @@ class CreateUserImportFileTransitions < ActiveRecord::Migration[4.2]
8
8
  t.text :metadata, default: "{}"
9
9
  end
10
10
  t.integer :sort_key
11
- t.integer :user_import_file_id
11
+ t.references :user_import_file, index: true
12
12
  t.timestamps
13
13
  end
14
14
 
15
- add_index :user_import_file_transitions, :user_import_file_id
16
15
  add_index :user_import_file_transitions, [:sort_key, :user_import_file_id], unique: true, name: "index_user_import_file_transitions_on_sort_key_and_file_id"
17
16
  end
18
17
  end
@@ -1,7 +1,7 @@
1
1
  class CreateUserExportFiles < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :user_export_files do |t|
4
- t.integer :user_id
4
+ t.references :user, index: true
5
5
  t.attachment :user_export
6
6
  t.datetime :executed_at
7
7
 
@@ -8,7 +8,7 @@ class CreateUserExportFileTransitions < ActiveRecord::Migration[4.2]
8
8
  t.text :metadata, default: "{}"
9
9
  end
10
10
  t.integer :sort_key
11
- t.integer :user_export_file_id
11
+ t.references :user_export_file, index: true
12
12
  t.timestamps
13
13
  end
14
14
 
@@ -1,5 +1,5 @@
1
1
  class AddDefaultLibraryIdToUserImportFile < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :user_import_files, :default_library_id, :integer
3
+ add_reference :user_import_files, :default_library
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  class AddDefaultUserGroupIdToUserImportFile < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :user_import_files, :default_user_group_id, :integer
3
+ add_reference :user_import_files, :default_user_group
4
4
  end
5
5
  end
@@ -1,14 +1,12 @@
1
1
  class CreateColors < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :colors do |t|
4
- t.integer :library_group_id
4
+ t.references :library_group, index: true
5
5
  t.string :property
6
6
  t.string :code
7
7
  t.integer :position
8
8
 
9
9
  t.timestamps
10
10
  end
11
-
12
- add_index :colors, :library_group_id
13
11
  end
14
12
  end
@@ -0,0 +1,5 @@
1
+ class AddForeignKeyToItemsReferencingManifestations < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_foreign_key :items, :manifestations
4
+ end
5
+ end
@@ -1,13 +1,11 @@
1
1
  class CreateWithdraws < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :withdraws do |t|
4
- t.integer :basket_id
5
- t.integer :item_id
6
- t.integer :librarian_id
4
+ t.references :basket, index: true
5
+ t.references :item, index: true
6
+ t.references :librarian, index: true
7
7
 
8
8
  t.timestamps null: false
9
9
  end
10
- add_index :withdraws, :basket_id
11
- add_index :withdraws, :item_id
12
10
  end
13
11
  end
@@ -0,0 +1,6 @@
1
+ class AddProfileIdToAgent < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_column :agents, :profile_id, :integer
4
+ add_index :agents, :profile_id
5
+ end
6
+ end
@@ -1,13 +1,18 @@
1
+ # This migration comes from enju_library_engine (originally 20151213070943)
1
2
  class AddTranslationTableToLibraryGroup < ActiveRecord::Migration[4.2]
2
3
  def up
3
- LibraryGroup.create_translation_table!({
4
- login_banner: :text
5
- }, {
6
- migrate_data: true
7
- })
4
+ if defined?(Globalize)
5
+ LibraryGroup.create_translation_table!({
6
+ login_banner: :text
7
+ }, {
8
+ migrate_data: true
9
+ })
10
+ end
8
11
  end
9
12
 
10
13
  def down
11
- LibraryGroup.drop_translation_table! migrate_data: true
14
+ if defined?(Globalize)
15
+ LibraryGroup.drop_translation_table! migrate_data: true
16
+ end
12
17
  end
13
18
  end
@@ -1,9 +1,22 @@
1
+ # This migration comes from enju_library_engine (originally 20151213072705)
1
2
  class AddFooterBannerToLibraryGroup < ActiveRecord::Migration[4.2]
2
3
  def up
3
- LibraryGroup.add_translation_fields! footer_banner: :text
4
+ if defined?(Globalize)
5
+ LibraryGroup.add_translation_fields! footer_banner: :text
6
+ end
7
+
8
+ if defined?(AwesomeHstoreTranslate)
9
+ add_column :library_groups, :footer_banner, :hstore
10
+ end
4
11
  end
5
12
 
6
13
  def down
7
- remove_column :library_group_translations, :footer_banner
14
+ if defined?(Globalize)
15
+ remove_column :library_group_translations, :footer_banner
16
+ end
17
+
18
+ if defined?(AwesomeHstoreTranslate)
19
+ remove_column :library_groups, :footer_banner
20
+ end
8
21
  end
9
22
  end
@@ -0,0 +1,5 @@
1
+ class AddCsvCharsetConversionToLibraryGroup < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_column :library_groups, :csv_charset_conversion, :boolean, null: false, default: false
4
+ end
5
+ 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,5 @@
1
+ class AddHeaderLogoMetaToLibraryGroup < ActiveRecord::Migration[4.2]
2
+ def change
3
+ add_column :library_groups, :header_logo_meta, :text
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
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForResourceExportFileTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :resource_export_file_transitions, [:resource_export_file_id, :most_recent], unique: true, where: "most_recent", name: "index_resource_export_file_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :resource_export_file_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :resource_export_file_transitions, name: "index_resource_export_file_transitions_parent_most_recent"
11
+ change_column_null :resource_export_file_transitions, :most_recent, true
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class AddConstraintsToMostRecentForImportRequestTransitions < ActiveRecord::Migration[4.2]
2
+ disable_ddl_transaction!
3
+
4
+ def up
5
+ add_index :import_request_transitions, [:import_request_id, :most_recent], unique: true, where: "most_recent", name: "index_import_request_transitions_parent_most_recent" #, algorithm: :concurrently
6
+ change_column_null :import_request_transitions, :most_recent, false
7
+ end
8
+
9
+ def down
10
+ remove_index :import_request_transitions, name: "index_import_request_transitions_parent_most_recent"
11
+ change_column_null :import_request_transitions, :most_recent, true
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class AddMemoToManifestation < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :manifestations, :memo, :text
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddMemoToItem < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :items, :memo, :text
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateCustomProperties < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :custom_properties do |t|
4
+ t.integer :resource_id, null: false
5
+ t.string :resource_type, null: false
6
+ t.text :label, null: false
7
+ t.text :value
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateManifestationCustomProperties < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :manifestation_custom_properties do |t|
4
+ t.string :name, null: false, comment: 'ラベル名', index: {unique: true}
5
+ t.text :display_name, null: false, comment: '表示名'
6
+ t.text :note, comment: '備考'
7
+ t.integer :position, default: 1, null: false
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateItemCustomProperties < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :item_custom_properties do |t|
4
+ t.string :name, null: false, comment: 'ラベル名', index: {unique: true}
5
+ t.text :display_name, null: false, comment: '表示名'
6
+ t.text :note, comment: '備考'
7
+ t.integer :position, default: 1, null: false
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateManifestationCustomValues < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :manifestation_custom_values do |t|
4
+ t.references :manifestation_custom_property, null: false, foreign_key: true, index: {name: 'index_manifestation_custom_values_on_custom_property_id'}
5
+ t.references :manifestation, null: false, foreign_key: true
6
+ t.text :value
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :manifestation_custom_values, [:manifestation_custom_property_id, :manifestation_id], unique: true, name: 'index_manifestation_custom_values_on_property_manifestation'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateItemCustomValues < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :item_custom_values do |t|
4
+ t.references :item_custom_property, null: false, foreign_key: true, index: {name: 'index_item_custom_values_on_custom_property_id'}
5
+ t.references :item, null: false, foreign_key: true
6
+ t.text :value
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :item_custom_values, [:item_custom_property_id, :item_id], unique: true, name: 'index_item_custom_values_on_custom_item_property_and_item_id'
11
+ end
12
+ end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 20171126135238) do
13
+ ActiveRecord::Schema.define(version: 2020_04_25_074822) do
14
14
 
15
15
  create_table "accepts", force: :cascade do |t|
16
16
  t.integer "basket_id"
@@ -20,6 +20,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
20
20
  t.datetime "updated_at"
21
21
  t.index ["basket_id"], name: "index_accepts_on_basket_id"
22
22
  t.index ["item_id"], name: "index_accepts_on_item_id"
23
+ t.index ["librarian_id"], name: "index_accepts_on_librarian_id"
23
24
  end
24
25
 
25
26
  create_table "agent_import_file_transitions", force: :cascade do |t|
@@ -29,7 +30,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
29
30
  t.integer "agent_import_file_id"
30
31
  t.datetime "created_at"
31
32
  t.datetime "updated_at"
32
- t.boolean "most_recent"
33
+ t.boolean "most_recent", null: false
34
+ t.index ["agent_import_file_id", "most_recent"], name: "index_agent_import_file_transitions_parent_most_recent", unique: true, where: "most_recent"
33
35
  t.index ["agent_import_file_id"], name: "index_agent_import_file_transitions_on_agent_import_file_id"
34
36
  t.index ["sort_key", "agent_import_file_id"], name: "index_agent_import_file_transitions_on_sort_key_and_file_id", unique: true
35
37
  end
@@ -153,10 +155,12 @@ ActiveRecord::Schema.define(version: 20171126135238) do
153
155
  t.string "birth_date"
154
156
  t.string "death_date"
155
157
  t.string "agent_identifier"
158
+ t.integer "profile_id"
156
159
  t.index ["agent_identifier"], name: "index_agents_on_agent_identifier"
157
160
  t.index ["country_id"], name: "index_agents_on_country_id"
158
161
  t.index ["full_name"], name: "index_agents_on_full_name"
159
162
  t.index ["language_id"], name: "index_agents_on_language_id"
163
+ t.index ["profile_id"], name: "index_agents_on_profile_id"
160
164
  t.index ["required_role_id"], name: "index_agents_on_required_role_id"
161
165
  end
162
166
 
@@ -377,6 +381,15 @@ ActiveRecord::Schema.define(version: 20171126135238) do
377
381
  t.index ["work_id"], name: "index_creates_on_work_id"
378
382
  end
379
383
 
384
+ create_table "custom_properties", force: :cascade do |t|
385
+ t.integer "resource_id", null: false
386
+ t.string "resource_type", null: false
387
+ t.text "label", null: false
388
+ t.text "value"
389
+ t.datetime "created_at", null: false
390
+ t.datetime "updated_at", null: false
391
+ end
392
+
380
393
  create_table "donates", force: :cascade do |t|
381
394
  t.integer "agent_id", null: false
382
395
  t.integer "item_id", null: false
@@ -531,7 +544,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
531
544
  t.integer "import_request_id"
532
545
  t.datetime "created_at"
533
546
  t.datetime "updated_at"
534
- t.boolean "most_recent"
547
+ t.boolean "most_recent", null: false
548
+ t.index ["import_request_id", "most_recent"], name: "index_import_request_transitions_parent_most_recent", unique: true, where: "most_recent"
535
549
  t.index ["import_request_id"], name: "index_import_request_transitions_on_import_request_id"
536
550
  t.index ["sort_key", "import_request_id"], name: "index_import_request_transitions_on_sort_key_and_request_id", unique: true
537
551
  end
@@ -547,6 +561,27 @@ ActiveRecord::Schema.define(version: 20171126135238) do
547
561
  t.index ["user_id"], name: "index_import_requests_on_user_id"
548
562
  end
549
563
 
564
+ create_table "item_custom_properties", force: :cascade do |t|
565
+ t.string "name", null: false
566
+ t.text "display_name", null: false
567
+ t.text "note"
568
+ t.integer "position", default: 1, null: false
569
+ t.datetime "created_at", null: false
570
+ t.datetime "updated_at", null: false
571
+ t.index ["name"], name: "index_item_custom_properties_on_name", unique: true
572
+ end
573
+
574
+ create_table "item_custom_values", force: :cascade do |t|
575
+ t.integer "item_custom_property_id", null: false
576
+ t.integer "item_id", null: false
577
+ t.text "value"
578
+ t.datetime "created_at", null: false
579
+ t.datetime "updated_at", null: false
580
+ t.index ["item_custom_property_id", "item_id"], name: "index_item_custom_values_on_custom_item_property_and_item_id", unique: true
581
+ t.index ["item_custom_property_id"], name: "index_item_custom_values_on_custom_property_id"
582
+ t.index ["item_id"], name: "index_item_custom_values_on_item_id"
583
+ end
584
+
550
585
  create_table "item_has_use_restrictions", force: :cascade do |t|
551
586
  t.integer "item_id", null: false
552
587
  t.integer "use_restriction_id", null: false
@@ -578,7 +613,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
578
613
  t.string "binding_item_identifier"
579
614
  t.string "binding_call_number"
580
615
  t.datetime "binded_at"
581
- t.integer "manifestation_id"
616
+ t.integer "manifestation_id", null: false
617
+ t.text "memo"
582
618
  t.index ["binding_item_identifier"], name: "index_items_on_binding_item_identifier"
583
619
  t.index ["bookstore_id"], name: "index_items_on_bookstore_id"
584
620
  t.index ["checkout_type_id"], name: "index_items_on_checkout_type_id"
@@ -632,7 +668,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
632
668
  t.text "note"
633
669
  t.integer "call_number_rows", default: 1, null: false
634
670
  t.string "call_number_delimiter", default: "|", null: false
635
- t.integer "library_group_id", default: 1, null: false
671
+ t.integer "library_group_id", null: false
636
672
  t.integer "users_count", default: 0, null: false
637
673
  t.integer "position"
638
674
  t.integer "country_id"
@@ -644,7 +680,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
644
680
  t.float "latitude"
645
681
  t.float "longitude"
646
682
  t.index ["library_group_id"], name: "index_libraries_on_library_group_id"
647
- t.index ["name"], name: "index_libraries_on_name", unique: true
683
+ t.index ["name"], name: "index_libraries_on_name"
648
684
  end
649
685
 
650
686
  create_table "library_group_translations", force: :cascade do |t|
@@ -677,10 +713,12 @@ ActiveRecord::Schema.define(version: 20171126135238) do
677
713
  t.boolean "family_name_first", default: true
678
714
  t.integer "pub_year_facet_range_interval", default: 10
679
715
  t.integer "user_id"
716
+ t.boolean "csv_charset_conversion", default: false, null: false
680
717
  t.string "header_logo_file_name"
681
718
  t.string "header_logo_content_type"
682
719
  t.integer "header_logo_file_size"
683
720
  t.datetime "header_logo_updated_at"
721
+ t.text "header_logo_meta"
684
722
  t.index ["short_name"], name: "index_library_groups_on_short_name"
685
723
  t.index ["user_id"], name: "index_library_groups_on_user_id"
686
724
  end
@@ -717,6 +755,27 @@ ActiveRecord::Schema.define(version: 20171126135238) do
717
755
  t.index ["user_id"], name: "index_manifestation_checkout_stats_on_user_id"
718
756
  end
719
757
 
758
+ create_table "manifestation_custom_properties", force: :cascade do |t|
759
+ t.string "name", null: false
760
+ t.text "display_name", null: false
761
+ t.text "note"
762
+ t.integer "position", default: 1, null: false
763
+ t.datetime "created_at", null: false
764
+ t.datetime "updated_at", null: false
765
+ t.index ["name"], name: "index_manifestation_custom_properties_on_name", unique: true
766
+ end
767
+
768
+ create_table "manifestation_custom_values", force: :cascade do |t|
769
+ t.integer "manifestation_custom_property_id", null: false
770
+ t.integer "manifestation_id", null: false
771
+ t.text "value"
772
+ t.datetime "created_at", null: false
773
+ t.datetime "updated_at", null: false
774
+ t.index ["manifestation_custom_property_id", "manifestation_id"], name: "index_manifestation_custom_values_on_property_manifestation", unique: true
775
+ t.index ["manifestation_custom_property_id"], name: "index_manifestation_custom_values_on_custom_property_id"
776
+ t.index ["manifestation_id"], name: "index_manifestation_custom_values_on_manifestation_id"
777
+ end
778
+
720
779
  create_table "manifestation_relationship_types", force: :cascade do |t|
721
780
  t.string "name", null: false
722
781
  t.text "display_name"
@@ -804,7 +863,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
804
863
  t.datetime "valid_until"
805
864
  t.datetime "date_submitted"
806
865
  t.datetime "date_accepted"
807
- t.datetime "date_caputured"
866
+ t.datetime "date_captured"
808
867
  t.string "pub_date"
809
868
  t.string "edition_string"
810
869
  t.integer "volume_number"
@@ -820,6 +879,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
820
879
  t.text "publication_place"
821
880
  t.text "extent"
822
881
  t.text "dimensions"
882
+ t.text "memo"
823
883
  t.index ["access_address"], name: "index_manifestations_on_access_address"
824
884
  t.index ["date_of_publication"], name: "index_manifestations_on_date_of_publication"
825
885
  t.index ["manifestation_identifier"], name: "index_manifestations_on_manifestation_identifier"
@@ -934,9 +994,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
934
994
  create_table "picture_files", force: :cascade do |t|
935
995
  t.integer "picture_attachable_id"
936
996
  t.string "picture_attachable_type"
937
- t.string "content_type"
938
997
  t.text "title"
939
- t.string "thumbnail"
940
998
  t.integer "position"
941
999
  t.datetime "created_at"
942
1000
  t.datetime "updated_at"
@@ -989,6 +1047,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
989
1047
  t.text "full_name_transcription"
990
1048
  t.datetime "date_of_birth"
991
1049
  t.index ["checkout_icalendar_token"], name: "index_profiles_on_checkout_icalendar_token", unique: true
1050
+ t.index ["library_id"], name: "index_profiles_on_library_id"
1051
+ t.index ["user_group_id"], name: "index_profiles_on_user_group_id"
992
1052
  t.index ["user_id"], name: "index_profiles_on_user_id"
993
1053
  t.index ["user_number"], name: "index_profiles_on_user_number", unique: true
994
1054
  end
@@ -1091,7 +1151,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1091
1151
  t.integer "resource_export_file_id"
1092
1152
  t.datetime "created_at"
1093
1153
  t.datetime "updated_at"
1094
- t.boolean "most_recent"
1154
+ t.boolean "most_recent", null: false
1155
+ t.index ["resource_export_file_id", "most_recent"], name: "index_resource_export_file_transitions_parent_most_recent", unique: true, where: "most_recent"
1095
1156
  t.index ["resource_export_file_id"], name: "index_resource_export_file_transitions_on_file_id"
1096
1157
  t.index ["sort_key", "resource_export_file_id"], name: "index_resource_export_file_transitions_on_sort_key_and_file_id", unique: true
1097
1158
  end
@@ -1114,7 +1175,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1114
1175
  t.integer "resource_import_file_id"
1115
1176
  t.datetime "created_at"
1116
1177
  t.datetime "updated_at"
1117
- t.boolean "most_recent"
1178
+ t.boolean "most_recent", null: false
1179
+ t.index ["resource_import_file_id", "most_recent"], name: "index_resource_import_file_transitions_parent_most_recent", unique: true, where: "most_recent"
1118
1180
  t.index ["resource_import_file_id"], name: "index_resource_import_file_transitions_on_file_id"
1119
1181
  t.index ["sort_key", "resource_import_file_id"], name: "index_resource_import_file_transitions_on_sort_key_and_file_id", unique: true
1120
1182
  end
@@ -1221,7 +1283,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1221
1283
  t.string "name", null: false
1222
1284
  t.text "display_name"
1223
1285
  t.text "note"
1224
- t.integer "library_id", default: 1, null: false
1286
+ t.integer "library_id", null: false
1225
1287
  t.integer "items_count", default: 0, null: false
1226
1288
  t.integer "position"
1227
1289
  t.datetime "created_at"
@@ -1336,9 +1398,11 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1336
1398
  t.integer "user_export_file_id"
1337
1399
  t.datetime "created_at"
1338
1400
  t.datetime "updated_at"
1339
- t.boolean "most_recent"
1401
+ t.boolean "most_recent", null: false
1340
1402
  t.index ["sort_key", "user_export_file_id"], name: "index_user_export_file_transitions_on_sort_key_and_file_id", unique: true
1403
+ t.index ["user_export_file_id", "most_recent"], name: "index_user_export_file_transitions_parent_most_recent", unique: true, where: "most_recent"
1341
1404
  t.index ["user_export_file_id"], name: "index_user_export_file_transitions_on_file_id"
1405
+ t.index ["user_export_file_id"], name: "index_user_export_file_transitions_on_user_export_file_id"
1342
1406
  end
1343
1407
 
1344
1408
  create_table "user_export_files", force: :cascade do |t|
@@ -1350,6 +1414,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1350
1414
  t.datetime "executed_at"
1351
1415
  t.datetime "created_at"
1352
1416
  t.datetime "updated_at"
1417
+ t.index ["user_id"], name: "index_user_export_files_on_user_id"
1353
1418
  end
1354
1419
 
1355
1420
  create_table "user_group_has_checkout_types", force: :cascade do |t|
@@ -1387,8 +1452,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1387
1452
  end
1388
1453
 
1389
1454
  create_table "user_has_roles", force: :cascade do |t|
1390
- t.integer "user_id"
1391
- t.integer "role_id"
1455
+ t.integer "user_id", null: false
1456
+ t.integer "role_id", null: false
1392
1457
  t.datetime "created_at"
1393
1458
  t.datetime "updated_at"
1394
1459
  t.index ["role_id"], name: "index_user_has_roles_on_role_id"
@@ -1402,8 +1467,9 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1402
1467
  t.integer "user_import_file_id"
1403
1468
  t.datetime "created_at"
1404
1469
  t.datetime "updated_at"
1405
- t.boolean "most_recent"
1470
+ t.boolean "most_recent", null: false
1406
1471
  t.index ["sort_key", "user_import_file_id"], name: "index_user_import_file_transitions_on_sort_key_and_file_id", unique: true
1472
+ t.index ["user_import_file_id", "most_recent"], name: "index_user_import_file_transitions_parent_most_recent", unique: true, where: "most_recent"
1407
1473
  t.index ["user_import_file_id"], name: "index_user_import_file_transitions_on_user_import_file_id"
1408
1474
  end
1409
1475
 
@@ -1423,6 +1489,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1423
1489
  t.string "user_encoding"
1424
1490
  t.integer "default_library_id"
1425
1491
  t.integer "default_user_group_id"
1492
+ t.index ["user_id"], name: "index_user_import_files_on_user_id"
1426
1493
  end
1427
1494
 
1428
1495
  create_table "user_import_results", force: :cascade do |t|
@@ -1432,6 +1499,8 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1432
1499
  t.datetime "created_at"
1433
1500
  t.datetime "updated_at"
1434
1501
  t.text "error_message"
1502
+ t.index ["user_id"], name: "index_user_import_results_on_user_id"
1503
+ t.index ["user_import_file_id"], name: "index_user_import_results_on_user_import_file_id"
1435
1504
  end
1436
1505
 
1437
1506
  create_table "user_reserve_stat_transitions", force: :cascade do |t|
@@ -1504,6 +1573,7 @@ ActiveRecord::Schema.define(version: 20171126135238) do
1504
1573
  t.datetime "updated_at", null: false
1505
1574
  t.index ["basket_id"], name: "index_withdraws_on_basket_id"
1506
1575
  t.index ["item_id"], name: "index_withdraws_on_item_id"
1576
+ t.index ["librarian_id"], name: "index_withdraws_on_librarian_id"
1507
1577
  end
1508
1578
 
1509
1579
  end