xbmc-sql 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.rspec +1 -0
- data/.travis.yml +20 -0
- data/CHANGELOG.markdown +5 -0
- data/Gemfile +9 -0
- data/Guardfile +13 -0
- data/LICENSE +20 -0
- data/README.markdown +92 -0
- data/Rakefile +49 -0
- data/app/models/xbmc_sql/base.rb +45 -0
- data/app/models/xbmc_sql/file.rb +17 -0
- data/app/models/xbmc_sql/movie.rb +78 -0
- data/app/models/xbmc_sql/path.rb +33 -0
- data/app/models/xbmc_sql/set.rb +9 -0
- data/bin/rails +12 -0
- data/lib/tasks/xbmc_sql_tasks.rake +13 -0
- data/lib/xbmc_sql.rb +34 -0
- data/lib/xbmc_sql/engine.rb +13 -0
- data/lib/xbmc_sql/nfo_file.rb +76 -0
- data/lib/xbmc_sql/rating_updater.rb +36 -0
- data/lib/xbmc_sql/top_250_updater.rb +102 -0
- data/lib/xbmc_sql/version.rb +3 -0
- data/spec/factories/movie.rb +5 -0
- data/spec/factories/path.rb +5 -0
- data/spec/fixtures/movie.nfo +595 -0
- data/spec/fixtures/movie.nfo.bak +595 -0
- data/spec/fixtures/movie.tmp.nfo +595 -0
- data/spec/lib/xbmc_sql/nfo_file_spec.rb +62 -0
- data/spec/lib/xbmc_sql/rating_updater_spec.rb +48 -0
- data/spec/lib/xbmc_sql/top_250_updater_spec.rb +49 -0
- data/spec/lib/xbmc_sql_spec.rb +29 -0
- data/spec/models/xbmc_sql/base_spec.rb +7 -0
- data/spec/models/xbmc_sql/file_spec.rb +16 -0
- data/spec/models/xbmc_sql/movie_spec.rb +115 -0
- data/spec/models/xbmc_sql/path_spec.rb +49 -0
- data/spec/models/xbmc_sql/set_spec.rb +5 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/test_app/Rakefile +6 -0
- data/spec/test_app/bin/bundle +3 -0
- data/spec/test_app/bin/rails +4 -0
- data/spec/test_app/bin/rake +4 -0
- data/spec/test_app/config.ru +4 -0
- data/spec/test_app/config/application.rb +16 -0
- data/spec/test_app/config/boot.rb +5 -0
- data/spec/test_app/config/database.yml +20 -0
- data/spec/test_app/config/environment.rb +5 -0
- data/spec/test_app/config/environments/development.rb +8 -0
- data/spec/test_app/config/environments/test.rb +7 -0
- data/spec/test_app/db/fresh_db.sqlite3 +0 -0
- data/spec/test_app/db/schema.rb +415 -0
- data/spec/test_app/log/.keep +0 -0
- data/xbmc_sql.gemspec +34 -0
- metadata +265 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
# Pick the frameworks you want:
|
4
|
+
require "active_record/railtie"
|
5
|
+
|
6
|
+
Bundler.require(*Rails.groups)
|
7
|
+
require "xbmc_sql"
|
8
|
+
|
9
|
+
module TestApp
|
10
|
+
class Application < Rails::Application
|
11
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
12
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
13
|
+
# config.i18n.default_locale = :de
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
default: &default
|
2
|
+
adapter: sqlite3
|
3
|
+
pool: 5
|
4
|
+
timeout: 5000
|
5
|
+
|
6
|
+
test:
|
7
|
+
<<: *default
|
8
|
+
database: db/test.db
|
9
|
+
|
10
|
+
development:
|
11
|
+
<<: *default
|
12
|
+
database: db/development.db
|
13
|
+
|
14
|
+
xbmc_test:
|
15
|
+
<<: *default
|
16
|
+
database: db/test.db
|
17
|
+
|
18
|
+
xbmc_development:
|
19
|
+
<<: *default
|
20
|
+
database: db/development.db
|
@@ -0,0 +1,8 @@
|
|
1
|
+
TestApp::Application.configure do
|
2
|
+
config.cache_classes = false
|
3
|
+
config.eager_load = false
|
4
|
+
config.active_support.deprecation = :log
|
5
|
+
config.active_record.migration_error = :page_load
|
6
|
+
config.assets.debug = true
|
7
|
+
config.assets.raise_runtime_errors = true
|
8
|
+
end
|
Binary file
|
@@ -0,0 +1,415 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended that you check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(version: 0) do
|
15
|
+
|
16
|
+
create_table "actorlinkepisode", id: false, force: true do |t|
|
17
|
+
t.integer "idActor"
|
18
|
+
t.integer "idEpisode"
|
19
|
+
t.text "strRole"
|
20
|
+
t.integer "iOrder"
|
21
|
+
end
|
22
|
+
|
23
|
+
add_index "actorlinkepisode", ["idActor", "idEpisode"], name: "ix_actorlinkepisode_1", unique: true
|
24
|
+
add_index "actorlinkepisode", ["idEpisode", "idActor"], name: "ix_actorlinkepisode_2", unique: true
|
25
|
+
|
26
|
+
create_table "actorlinkmovie", id: false, force: true do |t|
|
27
|
+
t.integer "idActor"
|
28
|
+
t.integer "idMovie"
|
29
|
+
t.text "strRole"
|
30
|
+
t.integer "iOrder"
|
31
|
+
end
|
32
|
+
|
33
|
+
add_index "actorlinkmovie", ["idActor", "idMovie"], name: "ix_actorlinkmovie_1", unique: true
|
34
|
+
add_index "actorlinkmovie", ["idMovie", "idActor"], name: "ix_actorlinkmovie_2", unique: true
|
35
|
+
|
36
|
+
create_table "actorlinktvshow", id: false, force: true do |t|
|
37
|
+
t.integer "idActor"
|
38
|
+
t.integer "idShow"
|
39
|
+
t.text "strRole"
|
40
|
+
t.integer "iOrder"
|
41
|
+
end
|
42
|
+
|
43
|
+
add_index "actorlinktvshow", ["idActor", "idShow"], name: "ix_actorlinktvshow_1", unique: true
|
44
|
+
add_index "actorlinktvshow", ["idShow", "idActor"], name: "ix_actorlinktvshow_2", unique: true
|
45
|
+
|
46
|
+
create_table "actors", primary_key: "idActor", force: true do |t|
|
47
|
+
t.text "strActor"
|
48
|
+
t.text "strThumb"
|
49
|
+
end
|
50
|
+
|
51
|
+
create_table "art", primary_key: "art_id", force: true do |t|
|
52
|
+
t.integer "media_id"
|
53
|
+
t.text "media_type"
|
54
|
+
t.text "type"
|
55
|
+
t.text "url"
|
56
|
+
end
|
57
|
+
|
58
|
+
add_index "art", ["media_id", "media_type", "type"], name: "ix_art"
|
59
|
+
|
60
|
+
create_table "artistlinkmusicvideo", id: false, force: true do |t|
|
61
|
+
t.integer "idArtist"
|
62
|
+
t.integer "idMVideo"
|
63
|
+
end
|
64
|
+
|
65
|
+
add_index "artistlinkmusicvideo", ["idArtist", "idMVideo"], name: "ix_artistlinkmusicvideo_1", unique: true
|
66
|
+
add_index "artistlinkmusicvideo", ["idMVideo", "idArtist"], name: "ix_artistlinkmusicvideo_2", unique: true
|
67
|
+
|
68
|
+
create_table "bookmark", primary_key: "idBookmark", force: true do |t|
|
69
|
+
t.integer "idFile"
|
70
|
+
t.float "timeInSeconds"
|
71
|
+
t.float "totalTimeInSeconds"
|
72
|
+
t.text "thumbNailImage"
|
73
|
+
t.text "player"
|
74
|
+
t.text "playerState"
|
75
|
+
t.integer "type"
|
76
|
+
end
|
77
|
+
|
78
|
+
add_index "bookmark", ["idFile", "type"], name: "ix_bookmark"
|
79
|
+
|
80
|
+
create_table "country", primary_key: "idCountry", force: true do |t|
|
81
|
+
t.text "strCountry"
|
82
|
+
end
|
83
|
+
|
84
|
+
create_table "countrylinkmovie", id: false, force: true do |t|
|
85
|
+
t.integer "idCountry"
|
86
|
+
t.integer "idMovie"
|
87
|
+
end
|
88
|
+
|
89
|
+
add_index "countrylinkmovie", ["idCountry", "idMovie"], name: "ix_countrylinkmovie_1", unique: true
|
90
|
+
add_index "countrylinkmovie", ["idMovie", "idCountry"], name: "ix_countrylinkmovie_2", unique: true
|
91
|
+
|
92
|
+
create_table "directorlinkepisode", id: false, force: true do |t|
|
93
|
+
t.integer "idDirector"
|
94
|
+
t.integer "idEpisode"
|
95
|
+
end
|
96
|
+
|
97
|
+
add_index "directorlinkepisode", ["idDirector", "idEpisode"], name: "ix_directorlinkepisode_1", unique: true
|
98
|
+
add_index "directorlinkepisode", ["idEpisode", "idDirector"], name: "ix_directorlinkepisode_2", unique: true
|
99
|
+
|
100
|
+
create_table "directorlinkmovie", id: false, force: true do |t|
|
101
|
+
t.integer "idDirector"
|
102
|
+
t.integer "idMovie"
|
103
|
+
end
|
104
|
+
|
105
|
+
add_index "directorlinkmovie", ["idDirector", "idMovie"], name: "ix_directorlinkmovie_1", unique: true
|
106
|
+
add_index "directorlinkmovie", ["idMovie", "idDirector"], name: "ix_directorlinkmovie_2", unique: true
|
107
|
+
|
108
|
+
create_table "directorlinkmusicvideo", id: false, force: true do |t|
|
109
|
+
t.integer "idDirector"
|
110
|
+
t.integer "idMVideo"
|
111
|
+
end
|
112
|
+
|
113
|
+
add_index "directorlinkmusicvideo", ["idDirector", "idMVideo"], name: "ix_directorlinkmusicvideo_1", unique: true
|
114
|
+
add_index "directorlinkmusicvideo", ["idMVideo", "idDirector"], name: "ix_directorlinkmusicvideo_2", unique: true
|
115
|
+
|
116
|
+
create_table "directorlinktvshow", id: false, force: true do |t|
|
117
|
+
t.integer "idDirector"
|
118
|
+
t.integer "idShow"
|
119
|
+
end
|
120
|
+
|
121
|
+
add_index "directorlinktvshow", ["idDirector", "idShow"], name: "ix_directorlinktvshow_1", unique: true
|
122
|
+
add_index "directorlinktvshow", ["idShow", "idDirector"], name: "ix_directorlinktvshow_2", unique: true
|
123
|
+
|
124
|
+
create_table "episode", primary_key: "idEpisode", force: true do |t|
|
125
|
+
t.integer "idFile"
|
126
|
+
t.text "c00"
|
127
|
+
t.text "c01"
|
128
|
+
t.text "c02"
|
129
|
+
t.text "c03"
|
130
|
+
t.text "c04"
|
131
|
+
t.text "c05"
|
132
|
+
t.text "c06"
|
133
|
+
t.text "c07"
|
134
|
+
t.text "c08"
|
135
|
+
t.text "c09"
|
136
|
+
t.text "c10"
|
137
|
+
t.text "c11"
|
138
|
+
t.string "c12", limit: 24
|
139
|
+
t.string "c13", limit: 24
|
140
|
+
t.text "c14"
|
141
|
+
t.text "c15"
|
142
|
+
t.text "c16"
|
143
|
+
t.string "c17", limit: 24
|
144
|
+
t.text "c18"
|
145
|
+
t.text "c19"
|
146
|
+
t.text "c20"
|
147
|
+
t.text "c21"
|
148
|
+
t.text "c22"
|
149
|
+
t.text "c23"
|
150
|
+
t.integer "idShow"
|
151
|
+
end
|
152
|
+
|
153
|
+
add_index "episode", ["c12", "c13"], name: "ix_episode_season_episode"
|
154
|
+
add_index "episode", ["c17"], name: "ix_episode_bookmark"
|
155
|
+
add_index "episode", ["c19"], name: "ixEpisodeBasePath"
|
156
|
+
add_index "episode", ["idEpisode", "idFile"], name: "ix_episode_file_1", unique: true
|
157
|
+
add_index "episode", ["idEpisode", "idShow"], name: "ix_episode_show1"
|
158
|
+
add_index "episode", ["idFile", "idEpisode"], name: "id_episode_file_2", unique: true
|
159
|
+
add_index "episode", ["idShow", "idEpisode"], name: "ix_episode_show2"
|
160
|
+
|
161
|
+
create_table "files", primary_key: "idFile", force: true do |t|
|
162
|
+
t.integer "idPath"
|
163
|
+
t.text "strFilename"
|
164
|
+
t.integer "playCount"
|
165
|
+
t.text "lastPlayed"
|
166
|
+
t.text "dateAdded"
|
167
|
+
end
|
168
|
+
|
169
|
+
add_index "files", ["idPath", "strFilename"], name: "ix_files"
|
170
|
+
|
171
|
+
create_table "genre", primary_key: "idGenre", force: true do |t|
|
172
|
+
t.text "strGenre"
|
173
|
+
end
|
174
|
+
|
175
|
+
create_table "genrelinkmovie", id: false, force: true do |t|
|
176
|
+
t.integer "idGenre"
|
177
|
+
t.integer "idMovie"
|
178
|
+
end
|
179
|
+
|
180
|
+
add_index "genrelinkmovie", ["idGenre", "idMovie"], name: "ix_genrelinkmovie_1", unique: true
|
181
|
+
add_index "genrelinkmovie", ["idMovie", "idGenre"], name: "ix_genrelinkmovie_2", unique: true
|
182
|
+
|
183
|
+
create_table "genrelinkmusicvideo", id: false, force: true do |t|
|
184
|
+
t.integer "idGenre"
|
185
|
+
t.integer "idMVideo"
|
186
|
+
end
|
187
|
+
|
188
|
+
add_index "genrelinkmusicvideo", ["idGenre", "idMVideo"], name: "ix_genrelinkmusicvideo_1", unique: true
|
189
|
+
add_index "genrelinkmusicvideo", ["idMVideo", "idGenre"], name: "ix_genrelinkmusicvideo_2", unique: true
|
190
|
+
|
191
|
+
create_table "genrelinktvshow", id: false, force: true do |t|
|
192
|
+
t.integer "idGenre"
|
193
|
+
t.integer "idShow"
|
194
|
+
end
|
195
|
+
|
196
|
+
add_index "genrelinktvshow", ["idGenre", "idShow"], name: "ix_genrelinktvshow_1", unique: true
|
197
|
+
add_index "genrelinktvshow", ["idShow", "idGenre"], name: "ix_genrelinktvshow_2", unique: true
|
198
|
+
|
199
|
+
create_table "movie", primary_key: "idMovie", force: true do |t|
|
200
|
+
t.integer "idFile"
|
201
|
+
t.text "c00"
|
202
|
+
t.text "c01"
|
203
|
+
t.text "c02"
|
204
|
+
t.text "c03"
|
205
|
+
t.text "c04"
|
206
|
+
t.text "c05"
|
207
|
+
t.text "c06"
|
208
|
+
t.text "c07"
|
209
|
+
t.text "c08"
|
210
|
+
t.text "c09"
|
211
|
+
t.text "c10"
|
212
|
+
t.text "c11"
|
213
|
+
t.text "c12"
|
214
|
+
t.text "c13"
|
215
|
+
t.text "c14"
|
216
|
+
t.text "c15"
|
217
|
+
t.text "c16"
|
218
|
+
t.text "c17"
|
219
|
+
t.text "c18"
|
220
|
+
t.text "c19"
|
221
|
+
t.text "c20"
|
222
|
+
t.text "c21"
|
223
|
+
t.text "c22"
|
224
|
+
t.text "c23"
|
225
|
+
t.integer "idSet"
|
226
|
+
end
|
227
|
+
|
228
|
+
add_index "movie", ["c23"], name: "ixMovieBasePath"
|
229
|
+
add_index "movie", ["idFile", "idMovie"], name: "ix_movie_file_1", unique: true
|
230
|
+
add_index "movie", ["idMovie", "idFile"], name: "ix_movie_file_2", unique: true
|
231
|
+
|
232
|
+
create_table "movielinktvshow", id: false, force: true do |t|
|
233
|
+
t.integer "idMovie"
|
234
|
+
t.integer "IdShow"
|
235
|
+
end
|
236
|
+
|
237
|
+
add_index "movielinktvshow", ["IdShow", "idMovie"], name: "ix_movielinktvshow_1", unique: true
|
238
|
+
add_index "movielinktvshow", ["idMovie", "IdShow"], name: "ix_movielinktvshow_2", unique: true
|
239
|
+
|
240
|
+
create_table "musicvideo", primary_key: "idMVideo", force: true do |t|
|
241
|
+
t.integer "idFile"
|
242
|
+
t.text "c00"
|
243
|
+
t.text "c01"
|
244
|
+
t.text "c02"
|
245
|
+
t.text "c03"
|
246
|
+
t.text "c04"
|
247
|
+
t.text "c05"
|
248
|
+
t.text "c06"
|
249
|
+
t.text "c07"
|
250
|
+
t.text "c08"
|
251
|
+
t.text "c09"
|
252
|
+
t.text "c10"
|
253
|
+
t.text "c11"
|
254
|
+
t.text "c12"
|
255
|
+
t.text "c13"
|
256
|
+
t.text "c14"
|
257
|
+
t.text "c15"
|
258
|
+
t.text "c16"
|
259
|
+
t.text "c17"
|
260
|
+
t.text "c18"
|
261
|
+
t.text "c19"
|
262
|
+
t.text "c20"
|
263
|
+
t.text "c21"
|
264
|
+
t.text "c22"
|
265
|
+
t.text "c23"
|
266
|
+
end
|
267
|
+
|
268
|
+
add_index "musicvideo", ["c14"], name: "ixMusicVideoBasePath"
|
269
|
+
add_index "musicvideo", ["idFile", "idMVideo"], name: "ix_musicvideo_file_2", unique: true
|
270
|
+
add_index "musicvideo", ["idMVideo", "idFile"], name: "ix_musicvideo_file_1", unique: true
|
271
|
+
|
272
|
+
# Could not dump table "path" because of following NoMethodError
|
273
|
+
# undefined method `[]' for nil:NilClass
|
274
|
+
|
275
|
+
create_table "seasons", primary_key: "idSeason", force: true do |t|
|
276
|
+
t.integer "idShow"
|
277
|
+
t.integer "season"
|
278
|
+
end
|
279
|
+
|
280
|
+
add_index "seasons", ["idShow", "season"], name: "ix_seasons"
|
281
|
+
|
282
|
+
create_table "sets", primary_key: "idSet", force: true do |t|
|
283
|
+
t.text "strSet"
|
284
|
+
end
|
285
|
+
|
286
|
+
# Could not dump table "settings" because of following NoMethodError
|
287
|
+
# undefined method `[]' for nil:NilClass
|
288
|
+
|
289
|
+
create_table "stacktimes", id: false, force: true do |t|
|
290
|
+
t.integer "idFile"
|
291
|
+
t.text "times"
|
292
|
+
end
|
293
|
+
|
294
|
+
add_index "stacktimes", ["idFile"], name: "ix_stacktimes", unique: true
|
295
|
+
|
296
|
+
create_table "streamdetails", id: false, force: true do |t|
|
297
|
+
t.integer "idFile"
|
298
|
+
t.integer "iStreamType"
|
299
|
+
t.text "strVideoCodec"
|
300
|
+
t.float "fVideoAspect"
|
301
|
+
t.integer "iVideoWidth"
|
302
|
+
t.integer "iVideoHeight"
|
303
|
+
t.text "strAudioCodec"
|
304
|
+
t.integer "iAudioChannels"
|
305
|
+
t.text "strAudioLanguage"
|
306
|
+
t.text "strSubtitleLanguage"
|
307
|
+
t.integer "iVideoDuration"
|
308
|
+
t.text "strStereoMode"
|
309
|
+
end
|
310
|
+
|
311
|
+
add_index "streamdetails", ["idFile"], name: "ix_streamdetails"
|
312
|
+
|
313
|
+
create_table "studio", primary_key: "idStudio", force: true do |t|
|
314
|
+
t.text "strStudio"
|
315
|
+
end
|
316
|
+
|
317
|
+
create_table "studiolinkmovie", id: false, force: true do |t|
|
318
|
+
t.integer "idStudio"
|
319
|
+
t.integer "idMovie"
|
320
|
+
end
|
321
|
+
|
322
|
+
add_index "studiolinkmovie", ["idMovie", "idStudio"], name: "ix_studiolinkmovie_2", unique: true
|
323
|
+
add_index "studiolinkmovie", ["idStudio", "idMovie"], name: "ix_studiolinkmovie_1", unique: true
|
324
|
+
|
325
|
+
create_table "studiolinkmusicvideo", id: false, force: true do |t|
|
326
|
+
t.integer "idStudio"
|
327
|
+
t.integer "idMVideo"
|
328
|
+
end
|
329
|
+
|
330
|
+
add_index "studiolinkmusicvideo", ["idMVideo", "idStudio"], name: "ix_studiolinkmusicvideo_2", unique: true
|
331
|
+
add_index "studiolinkmusicvideo", ["idStudio", "idMVideo"], name: "ix_studiolinkmusicvideo_1", unique: true
|
332
|
+
|
333
|
+
create_table "studiolinktvshow", id: false, force: true do |t|
|
334
|
+
t.integer "idStudio"
|
335
|
+
t.integer "idShow"
|
336
|
+
end
|
337
|
+
|
338
|
+
add_index "studiolinktvshow", ["idShow", "idStudio"], name: "ix_studiolinktvshow_2", unique: true
|
339
|
+
add_index "studiolinktvshow", ["idStudio", "idShow"], name: "ix_studiolinktvshow_1", unique: true
|
340
|
+
|
341
|
+
create_table "tag", primary_key: "idTag", force: true do |t|
|
342
|
+
t.text "strTag"
|
343
|
+
end
|
344
|
+
|
345
|
+
add_index "tag", ["strTag"], name: "ix_tag_1", unique: true
|
346
|
+
|
347
|
+
create_table "taglinks", id: false, force: true do |t|
|
348
|
+
t.integer "idTag"
|
349
|
+
t.integer "idMedia"
|
350
|
+
t.text "media_type"
|
351
|
+
end
|
352
|
+
|
353
|
+
add_index "taglinks", ["idMedia", "media_type", "idTag"], name: "ix_taglinks_2", unique: true
|
354
|
+
add_index "taglinks", ["idTag", "media_type", "idMedia"], name: "ix_taglinks_1", unique: true
|
355
|
+
add_index "taglinks", ["media_type"], name: "ix_taglinks_3"
|
356
|
+
|
357
|
+
create_table "tvshow", primary_key: "idShow", force: true do |t|
|
358
|
+
t.text "c00"
|
359
|
+
t.text "c01"
|
360
|
+
t.text "c02"
|
361
|
+
t.text "c03"
|
362
|
+
t.text "c04"
|
363
|
+
t.text "c05"
|
364
|
+
t.text "c06"
|
365
|
+
t.text "c07"
|
366
|
+
t.text "c08"
|
367
|
+
t.text "c09"
|
368
|
+
t.text "c10"
|
369
|
+
t.text "c11"
|
370
|
+
t.text "c12"
|
371
|
+
t.text "c13"
|
372
|
+
t.text "c14"
|
373
|
+
t.text "c15"
|
374
|
+
t.text "c16"
|
375
|
+
t.text "c17"
|
376
|
+
t.text "c18"
|
377
|
+
t.text "c19"
|
378
|
+
t.text "c20"
|
379
|
+
t.text "c21"
|
380
|
+
t.text "c22"
|
381
|
+
t.text "c23"
|
382
|
+
end
|
383
|
+
|
384
|
+
add_index "tvshow", ["c17"], name: "ixTVShowBasePath"
|
385
|
+
|
386
|
+
create_table "tvshowlinkpath", id: false, force: true do |t|
|
387
|
+
t.integer "idShow"
|
388
|
+
t.integer "idPath"
|
389
|
+
end
|
390
|
+
|
391
|
+
add_index "tvshowlinkpath", ["idPath", "idShow"], name: "ix_tvshowlinkpath_2", unique: true
|
392
|
+
add_index "tvshowlinkpath", ["idShow", "idPath"], name: "ix_tvshowlinkpath_1", unique: true
|
393
|
+
|
394
|
+
create_table "version", id: false, force: true do |t|
|
395
|
+
t.integer "idVersion"
|
396
|
+
t.integer "iCompressCount"
|
397
|
+
end
|
398
|
+
|
399
|
+
create_table "writerlinkepisode", id: false, force: true do |t|
|
400
|
+
t.integer "idWriter"
|
401
|
+
t.integer "idEpisode"
|
402
|
+
end
|
403
|
+
|
404
|
+
add_index "writerlinkepisode", ["idEpisode", "idWriter"], name: "ix_writerlinkepisode_2", unique: true
|
405
|
+
add_index "writerlinkepisode", ["idWriter", "idEpisode"], name: "ix_writerlinkepisode_1", unique: true
|
406
|
+
|
407
|
+
create_table "writerlinkmovie", id: false, force: true do |t|
|
408
|
+
t.integer "idWriter"
|
409
|
+
t.integer "idMovie"
|
410
|
+
end
|
411
|
+
|
412
|
+
add_index "writerlinkmovie", ["idMovie", "idWriter"], name: "ix_writerlinkmovie_2", unique: true
|
413
|
+
add_index "writerlinkmovie", ["idWriter", "idMovie"], name: "ix_writerlinkmovie_1", unique: true
|
414
|
+
|
415
|
+
end
|