diff --git a/Changelog b/Changelog index ddca360dd..5a93eff23 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2017-10-12 DariusIII + * Chg: Add xethron/migrations-generator and generate migrations * Chg: Update some of the models * Fix: Possible fix for bad genres display on XXX cover page 2017-10-11 DariusIII diff --git a/composer.json b/composer.json index e76aa7736..b283c1baa 100755 --- a/composer.json +++ b/composer.json @@ -151,7 +151,8 @@ "filp/whoops": "~2.0", "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^6.1", + "xethron/migrations-generator": "^2.0" }, "scripts": { diff --git a/composer.lock b/composer.lock index d62981e5f..668a2111a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "f352e545ce83d14246fb7ea318cb12c6", + "content-hash": "f394b4cc384faa1447c0aec1f925f7e8", "packages": [ { "name": "adrenth/thetvdb2", @@ -7087,6 +7087,112 @@ "validate" ], "time": "2016-11-23T20:04:58+00:00" + }, + { + "name": "xethron/laravel-4-generators", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/Xethron/Laravel-4-Generators.git", + "reference": "526f0a07d8ae44e365a20b1bf64c9956acd2a859" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Xethron/Laravel-4-Generators/zipball/526f0a07d8ae44e365a20b1bf64c9956acd2a859", + "reference": "526f0a07d8ae44e365a20b1bf64c9956acd2a859", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "behat/behat": "~2.5.1", + "behat/mink": "~1.5.0", + "behat/mink-extension": "~1.2.0", + "behat/mink-goutte-driver": "~1.0.9", + "behat/mink-selenium2-driver": "~1.1.1", + "phpspec/phpspec": "~2.0", + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "autoload": { + "psr-0": { + "Way\\Generators": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeffrey Way", + "email": "jeffrey@jeffrey-way.com" + } + ], + "description": "Rapidly generate resources, migrations, models, and much more.", + "time": "2017-02-23T11:20:49+00:00" + }, + { + "name": "xethron/migrations-generator", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Xethron/migrations-generator.git", + "reference": "a05bd7319ed808fcc3125212e37d30ccbe0d2b8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Xethron/migrations-generator/zipball/a05bd7319ed808fcc3125212e37d30ccbe0d2b8b", + "reference": "a05bd7319ed808fcc3125212e37d30ccbe0d2b8b", + "shasum": "" + }, + "require": { + "doctrine/dbal": "~2.4", + "illuminate/support": ">=4.1", + "php": ">=5.4.0", + "xethron/laravel-4-generators": "~3.1.0" + }, + "require-dev": { + "illuminate/cache": ">=4.1.0", + "illuminate/console": ">=4.1.0", + "mockery/mockery": ">=0.9.0", + "phpunit/phpunit": ">=4.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Way\\Generators\\GeneratorsServiceProvider", + "Xethron\\MigrationsGenerator\\MigrationsGeneratorServiceProvider" + ] + } + }, + "autoload": { + "psr-0": { + "Xethron\\MigrationsGenerator": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Breytenbach", + "email": "bernhard@coffeecode.co.za" + } + ], + "description": "Generates Laravel Migrations from an existing database", + "keywords": [ + "artisan", + "generator", + "laravel", + "migration", + "migrations" + ], + "time": "2017-09-19T17:31:57+00:00" } ], "aliases": [], diff --git a/config/app.php b/config/app.php index 96abf8a32..bbad59e6f 100644 --- a/config/app.php +++ b/config/app.php @@ -177,6 +177,8 @@ return [ App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, App\Providers\YencServiceProvider::class, + Way\Generators\GeneratorsServiceProvider::class, + Xethron\MigrationsGenerator\MigrationsGeneratorServiceProvider::class, ], diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php deleted file mode 100644 index 689cbeea4..000000000 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ /dev/null @@ -1,35 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('email')->unique(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('users'); - } -} diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php deleted file mode 100644 index 0d5cb8450..000000000 --- a/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ /dev/null @@ -1,32 +0,0 @@ -string('email')->index(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('password_resets'); - } -} diff --git a/database/migrations/2017_09_02_204242_create_anidb_episodes_table.php b/database/migrations/2017_09_02_204242_create_anidb_episodes_table.php deleted file mode 100644 index de3d952ba..000000000 --- a/database/migrations/2017_09_02_204242_create_anidb_episodes_table.php +++ /dev/null @@ -1,40 +0,0 @@ -integer('anidbid')->comment('ID of title from AniDB'); - $table->integer('episodeid'); - $table->smallInteger('episode_no'); - $table->string('episode_title'); - $table->date('airdate'); - $table->index( - [ - 'anidbid', - 'episodeid', - ] - ); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('anidb_episodes'); - } -} diff --git a/database/migrations/2017_09_02_204337_create_anidb_info_table.php b/database/migrations/2017_09_02_204337_create_anidb_info_table.php deleted file mode 100644 index d70d9cafc..000000000 --- a/database/migrations/2017_09_02_204337_create_anidb_info_table.php +++ /dev/null @@ -1,43 +0,0 @@ -integer('anidbid', false, true)->comment('ID of title from AniDB'); - $table->string('type'); - $table->date('startdate'); - $table->date('enddate'); - $table->timestamp('updated'); - $table->string('related'); - $table->string('similar'); - $table->string('creators'); - $table->text('description'); - $table->string('rating'); - $table->string('picture'); - $table->string('categories'); - $table->string('characters'); - $table->index(['startdate', 'enddate', 'updated']); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('anidb_info'); - } -} diff --git a/database/migrations/2017_09_02_204428_create_audio_data_table.php b/database/migrations/2017_09_02_204428_create_audio_data_table.php deleted file mode 100644 index fa645cf30..000000000 --- a/database/migrations/2017_09_02_204428_create_audio_data_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('audio_data'); - } -} diff --git a/database/migrations/2017_09_02_204506_create_binaryblacklist_table.php b/database/migrations/2017_09_02_204506_create_binaryblacklist_table.php deleted file mode 100644 index d0863fdda..000000000 --- a/database/migrations/2017_09_02_204506_create_binaryblacklist_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('binaryblacklist'); - } -} diff --git a/database/migrations/2017_09_02_204608_create_categories_table.php b/database/migrations/2017_09_02_204608_create_categories_table.php deleted file mode 100644 index 78ddaf48b..000000000 --- a/database/migrations/2017_09_02_204608_create_categories_table.php +++ /dev/null @@ -1,43 +0,0 @@ -increments('id'); - $table->string('title'); - $table->integer('parentid'); - $table->tinyInteger('status'); - $table->string('description'); - $table->tinyInteger('disablepreview'); - $table->bigInteger('minsizetoformrelease'); - $table->bigInteger('maxsizetoformrelease'); - $table->primary('id'); - $table->index('status'); - $table->index('parentid'); - }); - - DB::update('ALTER TABLE categories AUTO_INCREMENT = 1000001'); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('categories'); - } -} diff --git a/database/migrations/2017_09_02_204641_create_category_regexes_table.php b/database/migrations/2017_09_02_204641_create_category_regexes_table.php deleted file mode 100644 index 396647210..000000000 --- a/database/migrations/2017_09_02_204641_create_category_regexes_table.php +++ /dev/null @@ -1,45 +0,0 @@ -engine('innodb'); - $table->increments('id'); - $table->string('group_regex')->default('')->comment('This is a regex to match against usenet groups'); - $table->string('regex', '5000')->default('')->comment('Regex used to match a release name to categorize it'); - $table->unsignedTinyInteger('status')->default('1')->comment('1=ON 0=OFF'); - $table->string('description', '1000')->default('')->comment('Optional extra details on this regex'); - $table->integer('ordinal')->default('0')->comment('Order to run the regex in'); - $table->unsignedSmallInteger('categories_id')->default('0010')->comment('Which categories id to put the release in'); - $table->primary('id'); - $table->index('group_regex'); - $table->index('status'); - $table->index('ordinal'); - $table->index('categories_id'); - }); - - DB::update('ALTER TABLE category_regexes AUTO_INCREMENT = 100000'); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('category_regexes'); - } -} diff --git a/database/migrations/2017_09_02_204723_create_consoleinfo_table.php b/database/migrations/2017_09_02_204723_create_consoleinfo_table.php deleted file mode 100644 index e4cea818c..000000000 --- a/database/migrations/2017_09_02_204723_create_consoleinfo_table.php +++ /dev/null @@ -1,47 +0,0 @@ -engine = 'innodb'; - $table->increments('id'); - $table->string('title'); - $table->string('asin', '128')->nullable(); - $table->string('url', '1000')->nullable(); - $table->unsignedInteger('salesrank')->nullable(); - $table->string('platform')->nullable(); - $table->string('publisher')->nullable(); - $table->integer('genres_id')->nullable(); - $table->string('esrb')->nullable(); - $table->dateTime('releasedate')->nullable(); - $table->string('review', '3000')->nullable(); - $table->unsignedTinyInteger('cover')->default('0'); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->primary('id'); - $table->unique('asin', 'ix_consoleinfo_asin'); - DB::statement('ALTER TABLE consoleinfo ADD FULLTEXT INDEX ix_consoleinfo_title_platform_ft (title, platform)'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('consoleinfo'); - } -} diff --git a/database/migrations/2017_09_02_204746_create_countries_table.php b/database/migrations/2017_09_02_204746_create_countries_table.php deleted file mode 100644 index 538858de0..000000000 --- a/database/migrations/2017_09_02_204746_create_countries_table.php +++ /dev/null @@ -1,35 +0,0 @@ -char('id', 2)->comment('2 character country code'); - $table->char('iso3', 3)->comment('3 character country code'); - $table->string('country', 180)->coment('Name of the country'); - $table->index('iso3', 'ix_code3')->unique(); - $table->index('country', 'ix_country')->unique(); - $table->primary('id'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('countries'); - } -} diff --git a/database/migrations/2017_09_02_204848_create_forumpost_table.php b/database/migrations/2017_09_02_204848_create_forumpost_table.php deleted file mode 100644 index 1e9075a4d..000000000 --- a/database/migrations/2017_09_02_204848_create_forumpost_table.php +++ /dev/null @@ -1,45 +0,0 @@ -increments('id'); - $table->integer('forumid')->default(1); - $table->integer('parentid')->default(0); - $table->unsignedInteger('users_id'); - $table->string('subject', 255); - $table->text('message'); - $table->unsignedTinyInteger('locked')->default(0); - $table->unsignedTinyInteger('sticky')->default(0); - $table->integer('replies')->default(0); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->primary('id'); - $table->index('parentid'); - $table->index('users_id'); - $table->index('created_at'); - $table->index('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('forumpost'); - } -} diff --git a/database/migrations/2017_09_02_204910_create_gamesinfo_table.php b/database/migrations/2017_09_02_204910_create_gamesinfo_table.php deleted file mode 100644 index 48aa4d5c0..000000000 --- a/database/migrations/2017_09_02_204910_create_gamesinfo_table.php +++ /dev/null @@ -1,49 +0,0 @@ -engine = 'innodb'; - $table->increments('id'); - $table->string('title'); - $table->string('asin', '128')->nullable(); - $table->string('url', '1000')->nullable(); - $table->string('publisher')->nullable(); - $table->integer('genres_id')->nullable(); - $table->string('esrb')->nullable(); - $table->dateTime('releasedate')->nullable(); - $table->string('review', '3000')->nullable(); - $table->unsignedTinyInteger('cover')->default('0'); - $table->unsignedTinyInteger('backdrop')->default('0'); - $table->string('trailer', 1000)->default(''); - $table->string('classused', 10)->default(''); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->primary('id'); - $table->unique('asin', 'ix_gamesinfo_asin'); - $table->unique('title', 'ix_title'); - DB::statement('ALTER TABLE gamesinfo ADD FULLTEXT INDEX ix_gamesinfo_title_ft (title)'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('gamesinfo'); - } -} diff --git a/database/migrations/2017_09_02_204939_create_groups_table.php b/database/migrations/2017_09_02_204939_create_groups_table.php deleted file mode 100644 index 5a46695f5..000000000 --- a/database/migrations/2017_09_02_204939_create_groups_table.php +++ /dev/null @@ -1,45 +0,0 @@ -increments('id'); - $table->string('name', 255); - $table->unsignedBigInteger('first_record')->default('0'); - $table->dateTime('fisrt_record_postdate'); - $table->unsignedBigInteger('last_record')->default('0'); - $table->dateTime('last_record_postdate'); - $table->dateTime('last_updated'); - $table->integer('minfilestoformrelease')->nullable(); - $table->bigInteger('minsizetoformrelease')->nullable(); - $table->tinyInteger('active')->default('0'); - $table->tinyInteger('backfill')->default('0'); - $table->string('description', 255)->default(''); - $table->primary('id'); - $table->index('active', 'ix_active'); - $table->unique('name', 'ix_groups_name'); - DB::update('ALTER TABLE groups AUTO_INCREMENT = 1000001'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('groups'); - } -} diff --git a/database/migrations/2017_09_02_205022_create_menu_table.php b/database/migrations/2017_09_02_205022_create_menu_table.php deleted file mode 100644 index 979e5826f..000000000 --- a/database/migrations/2017_09_02_205022_create_menu_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('menu'); - } -} diff --git a/database/migrations/2017_09_02_205042_create_movieinfo_table.php b/database/migrations/2017_09_02_205042_create_movieinfo_table.php deleted file mode 100644 index 1f27b5afd..000000000 --- a/database/migrations/2017_09_02_205042_create_movieinfo_table.php +++ /dev/null @@ -1,50 +0,0 @@ -increments('id'); - $table->unsignedMediumInteger('imdb'); - $table->unsignedInteger('tmdbid')->default(0); - $table->string('title', 255)->default(''); - $table->string('tagline', 1024)->default(''); - $table->string('rating', 4)->default(''); - $table->string('plot', 1024)->default(''); - $table->string('year', 4)->default(''); - $table->string('genre', 64)->default(''); - $table->string('type', 32)->default(''); - $table->string('director', 64)->default(''); - $table->string('actors', 2000)->default(''); - $table->string('language', 64)->default(''); - $table->string('trailer', 255)->default(''); - $table->tinyInteger('cover')->default(0); - $table->tinyInteger('backdrop')->default(0); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->index('title', 'ix_movieinfo_title'); - $table->unique('imdbid', 'ix_movieinfo_imdbid'); - DB::statement('ALTER TABLE movieinfo CHANGE imdbid imdbid MEDIUMINT(7) UNSIGNED ZEROFILL NOT NULL'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('movieinfo'); - } -} diff --git a/database/migrations/2017_09_02_205058_create_musicinfo_table.php b/database/migrations/2017_09_02_205058_create_musicinfo_table.php deleted file mode 100644 index fdf11ddf8..000000000 --- a/database/migrations/2017_09_02_205058_create_musicinfo_table.php +++ /dev/null @@ -1,45 +0,0 @@ -increments('id'); - $table->string('title', 255); - $table->string('asin', 128)->nullable(); - $table->string('url', 1000)->nullable(); - $table->unsignedInteger('salesrank')->nullable(); - $table->string('artist', 255)->nullable(); - $table->string('publisher', 255)->nullable(); - $table->dateTime('releasedate')->nullable(); - $table->string('review', 3000)->nullable(); - $table->string('year', 4); - $table->integer('genres_id')->nullable(); - $table->string('tracks', 3000)->default(0); - $table->tinyInteger('cover')->default(0); - $table->timestamps(); - $table->unique(['asin'], 'ux_musicinfo_asin'); - DB::statement('ALTER TABLE musicinfo ADD FULLTEXT INDEX ix_musicinfo_artist_title_ft (artist, title)'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('musicinfo'); - } -} diff --git a/database/migrations/2017_09_02_205236_create_predb_table.php b/database/migrations/2017_09_02_205236_create_predb_table.php deleted file mode 100644 index ba30904d6..000000000 --- a/database/migrations/2017_09_02_205236_create_predb_table.php +++ /dev/null @@ -1,50 +0,0 @@ -increments('id'); - $table->string('title'); - $table->string('nfo'); - $table->string('size'); - $table->string('category'); - $table->dateTime('predate'); - $table->string('source', 50); - $table->unsignedInteger('request_id'); - $table->unsignedInteger('groups_id'); - $table->tinyInteger('nuked'); - $table->string('nukereason'); - $table->string('files'); - $table->string('filename'); - $table->tinyInteger('searched'); - $table->unique('title', 'ix_predb_title'); - $table->index('nfo', 'ix_predb_nfo'); - $table->index('predate', 'ix_predb_predate'); - $table->index('source', 'ix_predb_source'); - $table->index(['request_id', 'groups_id'], 'ix_predb_request_group_id'); - $table->index('filename'); - $table->index('searched', 'ix_predb_search'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('predb'); - } -} diff --git a/database/migrations/2017_09_02_205301_create_predb_imports_table.php b/database/migrations/2017_09_02_205301_create_predb_imports_table.php deleted file mode 100644 index 8236e1116..000000000 --- a/database/migrations/2017_09_02_205301_create_predb_imports_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('predb_imports'); - } -} diff --git a/database/migrations/2017_09_02_205318_create_releases_table.php b/database/migrations/2017_09_02_205318_create_releases_table.php deleted file mode 100644 index e479cba11..000000000 --- a/database/migrations/2017_09_02_205318_create_releases_table.php +++ /dev/null @@ -1,115 +0,0 @@ -increments('id'); - $table->string('name', 255)->default(''); - $table->string('searchname', 255)->default(''); - $table->integer('totalpart'); - $table->integer('groups_id'); - $table->unsignedBigInteger('size')->default(0); - $table->dateTime('postdate')->nullable(); - $table->dateTime('adddate')->nullable(); - $table->timestamp('updatetime'); - $table->string('gid', 32)->nullable(); - $table->string('guid', 40); - $table->char('leftguid', 1); - $table->string('fromname', 255); - $table->float('completion')->default(0); - $table->integer('categories_id')->default(10); - $table->unsignedMediumInteger('videos_id')->default(0); - $table->mediumInteger('tv_episodes_id')->default(0); - $table->mediumInteger('imdbid'); - $table->integer('xxxinfo_id')->default(0); - $table->integer('musicinfo_id')->nullable(); - $table->integer('consoleinfo_id')->nullable(); - $table->integer('gamesinfo_id')->default(0); - $table->integer('bookinfo_id')->nullable(); - $table->integer('anidbid')->nullable(); - $table->integer('predb_id')->default(0); - $table->integer('grabs')->default(0); - $table->integer('comments')->default(0); - $table->tinyInteger('passwordstatus')->default(0); - $table->integer('rarinnerfilecount')->default(0); - $table->tinyInteger('haspreview')->default(0); - $table->tinyInteger('nfostatus')->default(0); - $table->tinyInteger('jpgstatus')->default(0); - $table->tinyInteger('videostatus')->default(0); - $table->tinyInteger('audiostatus')->default(0); - $table->tinyInteger('dehashstatus')->default(0); - $table->tinyInteger('reqidstatus')->default(0); - $table->binary('nzb_guid')->nullable(); - $table->tinyInteger('nzbstatus')->default(0); - $table->tinyInteger('iscategorized')->default(0); - $table->tinyInteger('isrenamed')->default(0); - $table->tinyInteger('ishashed')->default(0); - $table->tinyInteger('isrequestid')->default(0); - $table->tinyInteger('proc_pp')->default(0); - $table->tinyInteger('proc_sorter')->default(0); - $table->tinyInteger('proc_par2')->default(0); - $table->tinyInteger('proc_nfo')->default(0); - $table->tinyInteger('proc_files')->default(0); - $table->tinyInteger('proc_uid')->default(0); - $table->tinyInteger('proc_srr')->default(0); - $table->tinyInteger('proc_hash16k')->default(0); - $table->primary(['id', 'categories_id']); - $table->index(['name'], 'ix_releases_name'); - $table->index(['groups_id', 'passwordstatus'], 'ix_releases_groups_id'); - $table->index(['postdate', 'searchname'], 'ix_releases_postdate_searchname'); - $table->index('guid', 'ix_releases_guid'); - $table->index(['leftguid', 'predb_id'], 'ix_releases_leftguid '); - $table->index('nzb_guid', 'ix_releases_nzb_guid'); - $table->index('videos_id', 'ix_releases_videos_id'); - $table->index('tv_episodes_id', 'ix_releases_tv_episodes_id'); - $table->index('imdbid', 'ix_releases_imdbid '); - $table->index('xxxinfo_id', 'ix_releases_xxxinfo_id'); - $table->index(['musicinfo_id', 'passwordstatus'], 'ix_releases_musicinfo_id'); - $table->index('consoleinfo_id', 'ix_releases_consoleinfo_id'); - $table->index('gamesinfo_id', 'ix_releases_gamesinfo_id'); - $table->index('bookinfo_id', 'ix_releases_bookinfo_id'); - $table->index('anidbid', 'ix_releases_anidbid'); - $table->index(['predb_id', 'searchname'], 'ix_releases_predb_id_searchname'); - $table->index(['haspreview', 'passwordstatus'], 'ix_releases_haspreview_passwordstatus'); - $table->index('passwordstatus', 'ix_releases_passwordstatus'); - $table->index(['nfostatus', 'size'], 'ix_releases_nfostatus'); - $table->index(['dehashstatus', 'ishashed'], 'ix_releases_dehashstatus'); - $table->index(['adddate', 'reqidstatus', 'isrequestid'], 'ix_releases_reqidstatus'); - - DB::statement('ALTER TABLE releases CHANGE imdbid imdbid MEDIUMINT(7) UNSIGNED ZEROFILL NULL'); - DB::statement( - 'ALTER TABLE releases PARTITION BY RANGE (categories_id) ( - PARTITION misc VALUES LESS THAN (1000), - PARTITION console VALUES LESS THAN (2000), - PARTITION movies VALUES LESS THAN (3000), - PARTITION audio VALUES LESS THAN (4000), - PARTITION pc VALUES LESS THAN (5000), - PARTITION tv VALUES LESS THAN (6000), - PARTITION xxx VALUES LESS THAN (7000), - PARTITION books VALUES LESS THAN (8000) - )' - ); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('releases'); - } -} diff --git a/database/migrations/2017_09_02_205449_create_release_files_table.php b/database/migrations/2017_09_02_205449_create_release_files_table.php deleted file mode 100644 index 44d37ab39..000000000 --- a/database/migrations/2017_09_02_205449_create_release_files_table.php +++ /dev/null @@ -1,37 +0,0 @@ -unsignedInteger('releases_id'); - $table->string('name', 255)->default(''); - $table->unsignedBigInteger('size')->default(0); - $table->tinyInteger('ishashed')->default(0); - $table->unsignedTinyInteger('passworded')->default(0); - $table->timestamps(); - $table->primary(['releases_id', 'name']); - $table->index('ishashed', 'ix_releasefiles_ishashed'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('release_files'); - } -} diff --git a/database/migrations/2017_09_02_205509_create_release_naming_regexes_table.php b/database/migrations/2017_09_02_205509_create_release_naming_regexes_table.php deleted file mode 100644 index 66519d5cc..000000000 --- a/database/migrations/2017_09_02_205509_create_release_naming_regexes_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('release_naming_regexes'); - } -} diff --git a/database/migrations/2017_09_02_205540_create_release_search_data_table.php b/database/migrations/2017_09_02_205540_create_release_search_data_table.php deleted file mode 100644 index e4eaaf428..000000000 --- a/database/migrations/2017_09_02_205540_create_release_search_data_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('release_search_data'); - } -} diff --git a/database/migrations/2017_09_02_205616_create_sharing_table.php b/database/migrations/2017_09_02_205616_create_sharing_table.php deleted file mode 100644 index 843b63d8e..000000000 --- a/database/migrations/2017_09_02_205616_create_sharing_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('sharing'); - } -} diff --git a/database/migrations/2017_09_02_205650_create_spotnabsources_table.php b/database/migrations/2017_09_02_205650_create_spotnabsources_table.php deleted file mode 100644 index 0af3c6825..000000000 --- a/database/migrations/2017_09_02_205650_create_spotnabsources_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('spotnabsources'); - } -} diff --git a/database/migrations/2017_09_02_205718_create_tv_episodes_table.php b/database/migrations/2017_09_02_205718_create_tv_episodes_table.php deleted file mode 100644 index 76bf5aef2..000000000 --- a/database/migrations/2017_09_02_205718_create_tv_episodes_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('tv_episodes'); - } -} diff --git a/database/migrations/2017_09_02_205733_create_tv_info_table.php b/database/migrations/2017_09_02_205733_create_tv_info_table.php deleted file mode 100644 index 5c4b5de1a..000000000 --- a/database/migrations/2017_09_02_205733_create_tv_info_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('tv_info'); - } -} diff --git a/database/migrations/2017_09_02_210007_create_videos_table.php b/database/migrations/2017_09_02_210007_create_videos_table.php deleted file mode 100644 index 6534a0ce2..000000000 --- a/database/migrations/2017_09_02_210007_create_videos_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('videos'); - } -} diff --git a/database/migrations/2017_09_02_210035_create_xxxinfo_table.php b/database/migrations/2017_09_02_210035_create_xxxinfo_table.php deleted file mode 100644 index 4b11751d1..000000000 --- a/database/migrations/2017_09_02_210035_create_xxxinfo_table.php +++ /dev/null @@ -1,46 +0,0 @@ -increments('id'); - $table->string('title', 1024); - $table->string('tagline', 1024); - $table->binary('plot'); - $table->string('genre'); - $table->string('director'); - $table->string('actors', 2500); - $table->text('extras'); - $table->text('productinfo'); - $table->text('trailers'); - $table->string('directurl', 2000); - $table->string('classused', 20); - $table->unsignedTinyInteger('cover'); - $table->unsignedTinyInteger('backdrop'); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->unique('title', 'ix_xxxinfo_title'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('xxxinfo'); - } -} diff --git a/database/migrations/2017_10_09_231143_create_collections_table.php b/database/migrations/2017_10_09_231143_create_collections_table.php deleted file mode 100644 index d15ada3f9..000000000 --- a/database/migrations/2017_10_09_231143_create_collections_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('collections'); - } -} diff --git a/database/migrations/2017_10_09_231202_create_missed_parts_table.php b/database/migrations/2017_10_09_231202_create_missed_parts_table.php deleted file mode 100644 index b5fdce51b..000000000 --- a/database/migrations/2017_10_09_231202_create_missed_parts_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('missed_parts'); - } -} diff --git a/database/migrations/2017_10_09_231222_create_multigroup_binaries_table.php b/database/migrations/2017_10_09_231222_create_multigroup_binaries_table.php deleted file mode 100644 index 045c618af..000000000 --- a/database/migrations/2017_10_09_231222_create_multigroup_binaries_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('multigroup_binaries'); - } -} diff --git a/database/migrations/2017_10_09_231231_create_multigroup_collections_table.php b/database/migrations/2017_10_09_231231_create_multigroup_collections_table.php deleted file mode 100644 index 8c1dc647d..000000000 --- a/database/migrations/2017_10_09_231231_create_multigroup_collections_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('multigroup_collections'); - } -} diff --git a/database/migrations/2017_10_09_231254_create_multigroup_missed_parts_table.php b/database/migrations/2017_10_09_231254_create_multigroup_missed_parts_table.php deleted file mode 100644 index 317e0919f..000000000 --- a/database/migrations/2017_10_09_231254_create_multigroup_missed_parts_table.php +++ /dev/null @@ -1,31 +0,0 @@ -increments('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('multigroup_missed_parts'); - } -} diff --git a/database/migrations/2017_10_12_124141_create_allgroups_table.php b/database/migrations/2017_10_12_124141_create_allgroups_table.php new file mode 100644 index 000000000..96b5dc7c6 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_allgroups_table.php @@ -0,0 +1,35 @@ +integer('id', true); + $table->string('name')->default('\'\'')->index('ix_allgroups_name'); + $table->bigInteger('first_record')->unsigned()->default(0); + $table->bigInteger('last_record')->unsigned()->default(0); + $table->dateTime('updated')->nullable()->default('NULL'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('allgroups'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_anidb_episodes_table.php b/database/migrations/2017_10_12_124141_create_anidb_episodes_table.php new file mode 100644 index 000000000..6e409f3cc --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_anidb_episodes_table.php @@ -0,0 +1,36 @@ +integer('anidbid')->unsigned()->comment('ID of title from AniDB'); + $table->integer('episodeid')->unsigned()->default(0)->comment('anidb id for this episode'); + $table->smallInteger('episode_no')->unsigned()->comment('Numeric version of episode (leave 0 for combined episodes).'); + $table->string('episode_title')->comment('Title of the episode (en, x-jat)'); + $table->date('airdate'); + $table->primary(['anidbid','episodeid']); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('anidb_episodes'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_anidb_info_table.php b/database/migrations/2017_10_12_124141_create_anidb_info_table.php new file mode 100644 index 000000000..cf6a2791f --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_anidb_info_table.php @@ -0,0 +1,44 @@ +integer('anidbid')->unsigned()->primary()->comment('ID of title from AniDB'); + $table->string('type', 32)->nullable()->default('NULL'); + $table->date('startdate')->nullable()->default('NULL'); + $table->date('enddate')->nullable()->default('NULL'); + $table->dateTime('updated')->default('current_timestamp()'); + $table->string('related', 1024)->nullable()->default('NULL'); + $table->string('similar', 1024)->nullable()->default('NULL'); + $table->string('creators', 1024)->nullable()->default('NULL'); + $table->text('description', 65535)->nullable()->default('NULL'); + $table->string('rating', 5)->nullable()->default('NULL'); + $table->string('picture')->nullable()->default('NULL'); + $table->string('categories', 1024)->nullable()->default('NULL'); + $table->string('characters', 1024)->nullable()->default('NULL'); + $table->index(['startdate','enddate','updated'], 'ix_anidb_info_datetime'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('anidb_info'); + } +} diff --git a/database/migrations/2017_09_02_204354_create_anidb_titles_table.php b/database/migrations/2017_10_12_124141_create_anidb_titles_table.php similarity index 57% rename from database/migrations/2017_09_02_204354_create_anidb_titles_table.php rename to database/migrations/2017_10_12_124141_create_anidb_titles_table.php index 49d1c91c5..a5f37ecd7 100644 --- a/database/migrations/2017_09_02_204354_create_anidb_titles_table.php +++ b/database/migrations/2017_10_12_124141_create_anidb_titles_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('anidbid')->unsigned()->comment('ID of title from AniDB'); + $table->string('type', 25)->comment('type of title.'); + $table->string('lang', 25); + $table->string('title'); + $table->primary(['anidbid','type','lang','title']); }); } + /** * Reverse the migrations. * @@ -26,6 +30,6 @@ class CreateAnidbTitlesTable extends Migration */ public function down() { - Schema::dropIfExists('anidb_titles'); + Schema::drop('anidb_titles'); } } diff --git a/database/migrations/2017_10_12_124141_create_audio_data_table.php b/database/migrations/2017_10_12_124141_create_audio_data_table.php new file mode 100644 index 000000000..525e72193 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_audio_data_table.php @@ -0,0 +1,43 @@ +increments('id'); + $table->integer('releases_id')->unsigned()->comment('FK to releases.id'); + $table->integer('audioid')->unsigned(); + $table->string('audioformat', 50)->nullable()->default('NULL'); + $table->string('audiomode', 50)->nullable()->default('NULL'); + $table->string('audiobitratemode', 50)->nullable()->default('NULL'); + $table->string('audiobitrate', 10)->nullable()->default('NULL'); + $table->string('audiochannels', 25)->nullable()->default('NULL'); + $table->string('audiosamplerate', 25)->nullable()->default('NULL'); + $table->string('audiolibrary', 50)->nullable()->default('NULL'); + $table->string('audiolanguage', 50)->nullable()->default('NULL'); + $table->string('audiotitle', 50)->nullable()->default('NULL'); + $table->unique(['releases_id','audioid'], 'ix_releaseaudio_releaseid_audioid'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('audio_data'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_binaries_table.php b/database/migrations/2017_10_12_124141_create_binaries_table.php new file mode 100644 index 000000000..8123feb2b --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_binaries_table.php @@ -0,0 +1,39 @@ +bigInteger('id', true)->unsigned(); + $table->string('name', 1000)->default('\'\''); + $table->integer('collections_id')->unsigned()->default(0)->index('ix_binaries_collection'); + $table->integer('filenumber')->unsigned()->default(0); + $table->integer('totalparts')->unsigned()->default(0); + $table->integer('currentparts')->unsigned()->default(0); + $table->binary('binaryhash', 16)->default('\'0$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$\'')->unique('ix_binaries_binaryhash'); + $table->boolean('partcheck')->default(0)->index('ix_binaries_partcheck'); + $table->bigInteger('partsize')->unsigned()->default(0); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('binaries'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_binaryblacklist_table.php b/database/migrations/2017_10_12_124141_create_binaryblacklist_table.php new file mode 100644 index 000000000..5d5124cab --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_binaryblacklist_table.php @@ -0,0 +1,38 @@ +increments('id'); + $table->string('groupname')->nullable()->default('NULL')->index('ix_binaryblacklist_groupname'); + $table->string('regex', 2000); + $table->integer('msgcol')->unsigned()->default(1); + $table->integer('optype')->unsigned()->default(1); + $table->integer('status')->unsigned()->default(1)->index('ix_binaryblacklist_status'); + $table->string('description', 1000)->nullable()->default('NULL'); + $table->date('last_activity')->nullable()->default('NULL'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('binaryblacklist'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_bookinfo_table.php b/database/migrations/2017_10_12_124141_create_bookinfo_table.php new file mode 100644 index 000000000..ba501859f --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_bookinfo_table.php @@ -0,0 +1,46 @@ +increments('id'); + $table->string('title'); + $table->string('author'); + $table->string('asin', 128)->nullable()->default('NULL')->unique('ix_bookinfo_asin'); + $table->string('isbn', 128)->nullable()->default('NULL'); + $table->string('ean', 128)->nullable()->default('NULL'); + $table->string('url', 1000)->nullable()->default('NULL'); + $table->integer('salesrank')->unsigned()->nullable()->default('NULL'); + $table->string('publisher')->nullable()->default('NULL'); + $table->dateTime('publishdate')->nullable()->default('NULL'); + $table->string('pages', 128)->nullable()->default('NULL'); + $table->string('overview', 3000)->nullable()->default('NULL'); + $table->string('genre'); + $table->boolean('cover')->default(0); + $table->timestamps(); + $table->index(['author','title'], 'ix_bookinfo_author_title_ft'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('bookinfo'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_categories_table.php b/database/migrations/2017_10_12_124141_create_categories_table.php new file mode 100644 index 000000000..0cc2908de --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_categories_table.php @@ -0,0 +1,38 @@ +increments('id'); + $table->string('title'); + $table->integer('parentid')->nullable()->default('NULL')->index('ix_categories_parentid'); + $table->integer('status')->default(1)->index('ix_categories_status'); + $table->string('description')->nullable()->default('NULL'); + $table->boolean('disablepreview')->default(0); + $table->bigInteger('minsizetoformrelease')->unsigned()->default(0); + $table->bigInteger('maxsizetoformrelease')->unsigned()->default(0); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('categories'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_category_regexes_table.php b/database/migrations/2017_10_12_124141_create_category_regexes_table.php new file mode 100644 index 000000000..d90c60b4f --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_category_regexes_table.php @@ -0,0 +1,37 @@ +increments('id'); + $table->string('group_regex')->default('\'\'')->index('ix_category_regexes_group_regex')->comment('This is a regex to match against usenet groups'); + $table->string('regex', 5000)->default('\'\'')->comment('Regex used to match a release name to categorize it'); + $table->boolean('status')->default(1)->index('ix_category_regexes_status')->comment('1=ON 0=OFF'); + $table->string('description', 1000)->default('\'\'')->comment('Optional extra details on this regex'); + $table->integer('ordinal')->default(0)->index('ix_category_regexes_ordinal')->comment('Order to run the regex in'); + $table->smallInteger('categories_id')->unsigned()->default(10)->index('ix_category_regexes_categories_id')->comment('Which categories id to put the release in'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('category_regexes'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_collection_regexes_table.php b/database/migrations/2017_10_12_124141_create_collection_regexes_table.php new file mode 100644 index 000000000..12dd254d4 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_collection_regexes_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->string('group_regex')->default('\'\'')->index('ix_collection_regexes_group_regex')->comment('This is a regex to match against usenet groups'); + $table->string('regex', 5000)->default('\'\'')->comment('Regex used for collection grouping'); + $table->boolean('status')->default(1)->index('ix_collection_regexes_status')->comment('1=ON 0=OFF'); + $table->string('description', 1000)->comment('Optional extra details on this regex'); + $table->integer('ordinal')->default(0)->index('ix_collection_regexes_ordinal')->comment('Order to run the regex in'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('collection_regexes'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_collections_table.php b/database/migrations/2017_10_12_124141_create_collections_table.php new file mode 100644 index 000000000..ba9719ff3 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_collections_table.php @@ -0,0 +1,45 @@ +increments('id'); + $table->string('subject')->default('\'\''); + $table->string('fromname')->default('\'\'')->index('fromname'); + $table->dateTime('date')->nullable()->default('NULL')->index('date'); + $table->string('xref', 2000)->default('\'\''); + $table->integer('totalfiles')->unsigned()->default(0); + $table->integer('groups_id')->unsigned()->default(0)->index('groups_id'); + $table->string('collectionhash')->default('\'0\'')->unique('ix_collection_collectionhash'); + $table->integer('collection_regexes_id')->default(0)->comment('FK to collection_regexes.id'); + $table->dateTime('dateadded')->nullable()->default('NULL')->index('ix_collection_dateadded'); + $table->dateTime('added')->default('current_timestamp()'); + $table->boolean('filecheck')->default(0)->index('ix_collection_filecheck'); + $table->bigInteger('filesize')->unsigned()->default(0); + $table->integer('releases_id')->nullable()->default('NULL')->index('ix_collection_releaseid'); + $table->char('noise', 32)->default('\'\''); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('collections'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_consoleinfo_table.php b/database/migrations/2017_10_12_124141_create_consoleinfo_table.php new file mode 100644 index 000000000..0e4ec14c6 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_consoleinfo_table.php @@ -0,0 +1,44 @@ +increments('id'); + $table->string('title'); + $table->string('asin', 128)->nullable()->default('NULL')->unique('ix_consoleinfo_asin'); + $table->string('url', 1000)->nullable()->default('NULL'); + $table->integer('salesrank')->unsigned()->nullable()->default('NULL'); + $table->string('platform')->nullable()->default('NULL'); + $table->string('publisher')->nullable()->default('NULL'); + $table->integer('genres_id')->nullable()->default('NULL'); + $table->string('esrb')->nullable()->default('NULL'); + $table->dateTime('releasedate')->nullable()->default('NULL'); + $table->string('review', 3000)->nullable()->default('NULL'); + $table->boolean('cover')->default(0); + $table->timestamps(); + $table->index(['title','platform'], 'ix_consoleinfo_title_platform_ft'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('consoleinfo'); + } +} diff --git a/database/migrations/2017_09_02_205128_create_content_table.php b/database/migrations/2017_10_12_124141_create_content_table.php similarity index 56% rename from database/migrations/2017_09_02_205128_create_content_table.php rename to database/migrations/2017_10_12_124141_create_content_table.php index a450f3c4a..cb9887213 100644 --- a/database/migrations/2017_09_02_205128_create_content_table.php +++ b/database/migrations/2017_10_12_124141_create_content_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('id', true); $table->string('title'); - $table->string('url', 2000)->nullable(); - $table->text('body')->nullable(); + $table->string('url', 2000)->nullable()->default('NULL'); + $table->text('body', 65535)->nullable()->default('NULL'); $table->string('metadescription', 1000); $table->string('metakeywords', 1000); $table->integer('contenttype'); $table->integer('showinmenu'); $table->integer('status'); - $table->integer('ordinal'); + $table->integer('ordinal')->nullable()->default('NULL'); $table->integer('role')->default(0); - $table->index( - [ - 'showinmenu', - 'status', - 'ordinal', - 'role', - ], - 'ix_showinmenu_status_contenttype_role' - ); - DB::update('ALTER TABLE content AUTO_INCREMENT = 1000001'); + $table->index(['showinmenu','status','contenttype','role'], 'ix_showinmenu_status_contenttype_role'); }); } + /** * Reverse the migrations. * @@ -45,6 +37,6 @@ class CreateContentTable extends Migration */ public function down() { - Schema::dropIfExists('content'); + Schema::drop('content'); } } diff --git a/database/migrations/2017_10_12_124141_create_countries_table.php b/database/migrations/2017_10_12_124141_create_countries_table.php new file mode 100644 index 000000000..4f50ef8db --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_countries_table.php @@ -0,0 +1,33 @@ +char('id', 2)->primary()->comment('2 character code.'); + $table->char('iso3', 3)->unique('code3')->comment('3 character code.'); + $table->string('country', 180)->unique('country')->comment('Name of the country.'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('countries'); + } +} diff --git a/database/migrations/2017_09_02_204826_create_dnzb_failures_table.php b/database/migrations/2017_10_12_124141_create_dnzb_failures_table.php similarity index 63% rename from database/migrations/2017_09_02_204826_create_dnzb_failures_table.php rename to database/migrations/2017_10_12_124141_create_dnzb_failures_table.php index 76f9c2399..cf3676239 100644 --- a/database/migrations/2017_09_02_204826_create_dnzb_failures_table.php +++ b/database/migrations/2017_10_12_124141_create_dnzb_failures_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('release_id')->unsigned(); + $table->integer('userid')->unsigned(); + $table->integer('failed')->unsigned()->default(0); + $table->primary(['release_id','userid']); }); } + /** * Reverse the migrations. * @@ -26,6 +29,6 @@ class CreateDnzbFailuresTable extends Migration */ public function down() { - Schema::dropIfExists('dnzb_failures'); + Schema::drop('dnzb_failures'); } } diff --git a/database/migrations/2017_10_12_124141_create_forumpost_table.php b/database/migrations/2017_10_12_124141_create_forumpost_table.php new file mode 100644 index 000000000..3c87f426f --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_forumpost_table.php @@ -0,0 +1,40 @@ +increments('id'); + $table->integer('forumid')->default(1); + $table->integer('parentid')->default(0)->index('parentid'); + $table->integer('users_id')->unsigned()->index('userid'); + $table->string('subject'); + $table->text('message', 65535); + $table->boolean('locked')->default(0); + $table->boolean('sticky')->default(0); + $table->integer('replies')->unsigned()->default(0); + $table->timestamps(); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('forumpost'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_gamesinfo_table.php b/database/migrations/2017_10_12_124141_create_gamesinfo_table.php new file mode 100644 index 000000000..3a340a1ba --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_gamesinfo_table.php @@ -0,0 +1,44 @@ +increments('id'); + $table->string('title')->index('ix_title_ft'); + $table->string('asin', 128)->nullable()->default('NULL')->unique('ix_gamesinfo_asin'); + $table->string('url', 1000)->nullable()->default('NULL'); + $table->string('publisher')->nullable()->default('NULL'); + $table->integer('genres_id')->nullable()->default('NULL'); + $table->string('esrb')->nullable()->default('NULL'); + $table->dateTime('releasedate')->nullable()->default('NULL'); + $table->string('review', 3000)->nullable()->default('NULL'); + $table->boolean('cover')->default(0); + $table->boolean('backdrop')->default(0); + $table->string('trailer', 1000)->default('\'\''); + $table->string('classused', 10)->default('\'steam\''); + $table->timestamps(); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('gamesinfo'); + } +} diff --git a/database/migrations/2017_09_02_204927_create_genres_table.php b/database/migrations/2017_10_12_124141_create_genres_table.php similarity index 70% rename from database/migrations/2017_09_02_204927_create_genres_table.php rename to database/migrations/2017_10_12_124141_create_genres_table.php index 3e86c2c11..fd729da50 100644 --- a/database/migrations/2017_09_02_204927_create_genres_table.php +++ b/database/migrations/2017_10_12_124141_create_genres_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('id', true); $table->string('title'); - $table->integer('type'); - $table->tinyInteger('disabled'); + $table->integer('type')->nullable()->default('NULL'); + $table->boolean('disabled')->default(0); }); } + /** * Reverse the migrations. * @@ -28,6 +29,6 @@ class CreateGenresTable extends Migration */ public function down() { - Schema::dropIfExists('genres'); + Schema::drop('genres'); } } diff --git a/database/migrations/2017_10_12_124141_create_groups_table.php b/database/migrations/2017_10_12_124141_create_groups_table.php new file mode 100644 index 000000000..a2dc75daa --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_groups_table.php @@ -0,0 +1,43 @@ +integer('id', true); + $table->string('name')->default('\'\'')->unique('ix_groups_name'); + $table->integer('backfill_target')->default(1); + $table->bigInteger('first_record')->unsigned()->default(0); + $table->dateTime('first_record_postdate')->nullable()->default('NULL'); + $table->bigInteger('last_record')->unsigned()->default(0); + $table->dateTime('last_record_postdate')->nullable()->default('NULL'); + $table->dateTime('last_updated')->nullable()->default('NULL'); + $table->integer('minfilestoformrelease')->nullable()->default('NULL'); + $table->bigInteger('minsizetoformrelease')->nullable()->default('NULL'); + $table->boolean('active')->default(0)->index('active'); + $table->boolean('backfill')->default(0); + $table->string('description')->nullable()->default('\'\''); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('groups'); + } +} diff --git a/database/migrations/2017_09_02_204954_create_invitations_table.php b/database/migrations/2017_10_12_124141_create_invitations_table.php similarity index 75% rename from database/migrations/2017_09_02_204954_create_invitations_table.php rename to database/migrations/2017_10_12_124141_create_invitations_table.php index aa6ea7d13..2c954e1b6 100644 --- a/database/migrations/2017_09_02_204954_create_invitations_table.php +++ b/database/migrations/2017_10_12_124141_create_invitations_table.php @@ -1,11 +1,11 @@ increments('id'); $table->string('guid', 50); - $table->integer('users_id'); - $table->dateTime('created_at'); + $table->integer('users_id')->unsigned(); + $table->timestamps(); }); } + /** * Reverse the migrations. * @@ -28,6 +29,6 @@ class CreateInvitationsTable extends Migration */ public function down() { - Schema::dropIfExists('invitations'); + Schema::drop('invitations'); } } diff --git a/database/migrations/2017_09_02_204534_create_bookinfo_table.php b/database/migrations/2017_10_12_124141_create_logging_table.php similarity index 51% rename from database/migrations/2017_09_02_204534_create_bookinfo_table.php rename to database/migrations/2017_10_12_124141_create_logging_table.php index 6e7265119..16921dd53 100644 --- a/database/migrations/2017_09_02_204534_create_bookinfo_table.php +++ b/database/migrations/2017_10_12_124141_create_logging_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->dateTime('time')->nullable()->default('NULL'); + $table->string('username', 50)->nullable()->default('NULL'); + $table->string('host', 40)->nullable()->default('NULL'); }); } + /** * Reverse the migrations. * @@ -26,6 +29,6 @@ class CreateBookinfoTable extends Migration */ public function down() { - Schema::dropIfExists('bookinfo'); + Schema::drop('logging'); } } diff --git a/database/migrations/2017_10_12_124141_create_menu_table.php b/database/migrations/2017_10_12_124141_create_menu_table.php new file mode 100644 index 000000000..2ae163e6c --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_menu_table.php @@ -0,0 +1,39 @@ +increments('id'); + $table->string('href', 2000)->default('\'\''); + $table->string('title', 2000)->default('\'\''); + $table->integer('newwindow')->unsigned()->default(0); + $table->string('tooltip', 2000)->default('\'\''); + $table->integer('role')->unsigned(); + $table->integer('ordinal')->unsigned(); + $table->string('menueval', 2000)->default('\'\''); + $table->index(['role','ordinal'], 'ix_role_ordinal'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('menu'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_missed_parts_table.php b/database/migrations/2017_10_12_124141_create_missed_parts_table.php new file mode 100644 index 000000000..12aad2972 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_missed_parts_table.php @@ -0,0 +1,37 @@ +increments('id'); + $table->bigInteger('numberid')->unsigned(); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups.id'); + $table->boolean('attempts')->default(0)->index('ix_missed_parts_attempts'); + $table->unique(['numberid','groups_id'], 'ix_missed_parts_numberid_groupsid'); + $table->index(['groups_id','attempts'], 'ix_missed_parts_groupid_attempts'); + $table->index(['numberid','groups_id','attempts'], 'ix_missed_parts_numberid_groupsid_attempts'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('missed_parts'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_movieinfo_table.php b/database/migrations/2017_10_12_124141_create_movieinfo_table.php new file mode 100644 index 000000000..26b2029a6 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_movieinfo_table.php @@ -0,0 +1,48 @@ +increments('id'); + $table->integer('imdbid')->unsigned()->unique('ix_movieinfo_imdbid'); + $table->integer('tmdbid')->unsigned()->default(0); + $table->string('title')->default('\'\'')->index('ix_movieinfo_title'); + $table->string('tagline', 1024)->default('\'\''); + $table->string('rating', 4)->default('\'\''); + $table->string('plot', 1024)->default('\'\''); + $table->string('year', 4)->default('\'\''); + $table->string('genre', 64)->default('\'\''); + $table->string('type', 32)->default('\'\''); + $table->string('director', 64)->default('\'\''); + $table->string('actors', 2000)->default('\'\''); + $table->string('language', 64)->default('\'\''); + $table->boolean('cover')->default(0); + $table->boolean('backdrop')->default(0); + $table->timestamps(); + $table->string('trailer')->default('\'\''); + $table->string('rtrating', 10)->default('\'\'')->comment('RottenTomatoes rating score'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('movieinfo'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_multigroup_binaries_table.php b/database/migrations/2017_10_12_124141_create_multigroup_binaries_table.php new file mode 100644 index 000000000..b1e7c9e7a --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_multigroup_binaries_table.php @@ -0,0 +1,39 @@ +bigInteger('id', true)->unsigned(); + $table->string('name', 1000)->default('\'\''); + $table->integer('collections_id')->unsigned()->default(0)->index('ix_binaries_collection'); + $table->integer('filenumber')->unsigned()->default(0); + $table->integer('totalparts')->unsigned()->default(0); + $table->integer('currentparts')->unsigned()->default(0); + $table->binary('binaryhash', 16)->default('\'0$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$\'')->unique('ix_binaries_binaryhash'); + $table->boolean('partcheck')->default(0)->index('ix_binaries_partcheck'); + $table->bigInteger('partsize')->unsigned()->default(0); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('multigroup_binaries'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_multigroup_collections_table.php b/database/migrations/2017_10_12_124141_create_multigroup_collections_table.php new file mode 100644 index 000000000..c14d9afc0 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_multigroup_collections_table.php @@ -0,0 +1,45 @@ +increments('id'); + $table->string('subject')->default('\'\''); + $table->string('fromname')->default('\'\'')->index('fromname'); + $table->dateTime('date')->nullable()->default('NULL')->index('date'); + $table->string('xref', 2000)->default('\'\''); + $table->integer('totalfiles')->unsigned()->default(0); + $table->integer('groups_id')->unsigned()->default(0)->index('groups_id'); + $table->string('collectionhash')->default('\'0\'')->unique('ix_collection_collectionhash'); + $table->integer('collection_regexes_id')->default(0)->comment('FK to collection_regexes.id'); + $table->dateTime('dateadded')->nullable()->default('NULL')->index('ix_collection_dateadded'); + $table->dateTime('added')->default('current_timestamp()'); + $table->boolean('filecheck')->default(0)->index('ix_collection_filecheck'); + $table->bigInteger('filesize')->unsigned()->default(0); + $table->integer('releases_id')->nullable()->default('NULL')->index('ix_collection_releaseid'); + $table->char('noise', 32)->default('\'\''); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('multigroup_collections'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_multigroup_missed_parts_table.php b/database/migrations/2017_10_12_124141_create_multigroup_missed_parts_table.php new file mode 100644 index 000000000..f3db3675c --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_multigroup_missed_parts_table.php @@ -0,0 +1,37 @@ +increments('id'); + $table->bigInteger('numberid')->unsigned(); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups.id'); + $table->boolean('attempts')->default(0)->index('ix_missed_parts_attempts'); + $table->unique(['numberid','groups_id'], 'ix_missed_parts_numberid_groupsid'); + $table->index(['groups_id','attempts'], 'ix_missed_parts_groupid_attempts'); + $table->index(['numberid','groups_id','attempts'], 'ix_missed_parts_numberid_groupsid_attempts'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('multigroup_missed_parts'); + } +} diff --git a/database/migrations/2017_10_09_231240_create_multigroup_parts_table.php b/database/migrations/2017_10_12_124141_create_multigroup_parts_table.php similarity index 51% rename from database/migrations/2017_10_09_231240_create_multigroup_parts_table.php rename to database/migrations/2017_10_12_124141_create_multigroup_parts_table.php index 0694627f0..b4cf68202 100644 --- a/database/migrations/2017_10_09_231240_create_multigroup_parts_table.php +++ b/database/migrations/2017_10_12_124141_create_multigroup_parts_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->bigInteger('binaries_id')->unsigned()->default(0); + $table->string('messageid')->default('\'\''); + $table->bigInteger('number')->unsigned()->default(0); + $table->integer('partnumber')->unsigned()->default(0); + $table->integer('size')->unsigned()->default(0); + $table->primary(['binaries_id','number']); }); } + /** * Reverse the migrations. * @@ -26,6 +31,6 @@ class CreateMultigroupPartsTable extends Migration */ public function down() { - Schema::dropIfExists('multigroup_parts'); + Schema::drop('multigroup_parts'); } } diff --git a/database/migrations/2017_09_02_204659_create_collection_regexes_table.php b/database/migrations/2017_10_12_124141_create_multigroup_posters_table.php similarity index 61% rename from database/migrations/2017_09_02_204659_create_collection_regexes_table.php rename to database/migrations/2017_10_12_124141_create_multigroup_posters_table.php index 6b81b5d6c..a7e9d7a42 100644 --- a/database/migrations/2017_09_02_204659_create_collection_regexes_table.php +++ b/database/migrations/2017_10_12_124141_create_multigroup_posters_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->string('poster')->default('\'\'')->unique('poster'); }); } + /** * Reverse the migrations. * @@ -26,6 +27,6 @@ class CreateCollectionRegexesTable extends Migration */ public function down() { - Schema::dropIfExists('collection_regexes'); + Schema::drop('multigroup_posters'); } } diff --git a/database/migrations/2017_10_12_124141_create_musicinfo_table.php b/database/migrations/2017_10_12_124141_create_musicinfo_table.php new file mode 100644 index 000000000..dfb24581c --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_musicinfo_table.php @@ -0,0 +1,45 @@ +increments('id'); + $table->string('title'); + $table->string('asin', 128)->nullable()->default('NULL')->unique('ix_musicinfo_asin'); + $table->string('url', 1000)->nullable()->default('NULL'); + $table->integer('salesrank')->unsigned()->nullable()->default('NULL'); + $table->string('artist')->nullable()->default('NULL'); + $table->string('publisher')->nullable()->default('NULL'); + $table->dateTime('releasedate')->nullable()->default('NULL'); + $table->string('review', 3000)->nullable()->default('NULL'); + $table->string('year', 4); + $table->integer('genres_id')->nullable()->default('NULL'); + $table->string('tracks', 3000)->nullable()->default('NULL'); + $table->boolean('cover')->default(0); + $table->timestamps(); + $table->index(['artist','title'], 'ix_musicinfo_artist_title_ft'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('musicinfo'); + } +} diff --git a/database/migrations/2017_09_02_205141_create_par_hashes_table.php b/database/migrations/2017_10_12_124141_create_par_hashes_table.php similarity index 64% rename from database/migrations/2017_09_02_205141_create_par_hashes_table.php rename to database/migrations/2017_10_12_124141_create_par_hashes_table.php index 64fae9822..8e3709de8 100644 --- a/database/migrations/2017_09_02_205141_create_par_hashes_table.php +++ b/database/migrations/2017_10_12_124141_create_par_hashes_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('releases_id')->comment('FK to releases.id'); + $table->string('hash', 32)->comment('hash_16k block of par2'); + $table->primary(['releases_id','hash']); }); } + /** * Reverse the migrations. * @@ -26,6 +28,6 @@ class CreateParHashesTable extends Migration */ public function down() { - Schema::dropIfExists('par_hashes'); + Schema::drop('par_hashes'); } } diff --git a/database/migrations/2017_10_09_231153_create_parts_table.php b/database/migrations/2017_10_12_124141_create_parts_table.php similarity index 51% rename from database/migrations/2017_10_09_231153_create_parts_table.php rename to database/migrations/2017_10_12_124141_create_parts_table.php index 697846311..68f0f7cb0 100644 --- a/database/migrations/2017_10_09_231153_create_parts_table.php +++ b/database/migrations/2017_10_12_124141_create_parts_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->bigInteger('binaries_id')->unsigned()->default(0); + $table->string('messageid')->default('\'\''); + $table->bigInteger('number')->unsigned()->default(0); + $table->integer('partnumber')->unsigned()->default(0); + $table->integer('size')->unsigned()->default(0); + $table->primary(['binaries_id','number']); }); } + /** * Reverse the migrations. * @@ -26,6 +31,6 @@ class CreatePartsTable extends Migration */ public function down() { - Schema::dropIfExists('parts'); + Schema::drop('parts'); } } diff --git a/database/migrations/2017_09_02_205248_create_predb_hashes_table.php b/database/migrations/2017_10_12_124141_create_predb_hashes_table.php similarity index 67% rename from database/migrations/2017_09_02_205248_create_predb_hashes_table.php rename to database/migrations/2017_10_12_124141_create_predb_hashes_table.php index 4a20e2388..ce2b6335e 100644 --- a/database/migrations/2017_09_02_205248_create_predb_hashes_table.php +++ b/database/migrations/2017_10_12_124141_create_predb_hashes_table.php @@ -1,11 +1,11 @@ unsignedInteger('predb_id'); - $table->binary('hash')->primary(); + $table->integer('predb_id')->default(0)->comment('id, of the predb entry, this hash belongs to'); + $table->binary('hash', 40)->default('\'\'')->primary(); }); } + /** * Reverse the migrations. * @@ -26,6 +27,6 @@ class CreatePredbHashesTable extends Migration */ public function down() { - Schema::dropIfExists('predb_hashes'); + Schema::drop('predb_hashes'); } } diff --git a/database/migrations/2017_10_12_124141_create_predb_imports_table.php b/database/migrations/2017_10_12_124141_create_predb_imports_table.php new file mode 100644 index 000000000..e9ca86343 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_predb_imports_table.php @@ -0,0 +1,44 @@ +string('title')->default('\'\''); + $table->string('nfo')->nullable()->default('NULL'); + $table->string('size', 50)->nullable()->default('NULL'); + $table->string('category')->nullable()->default('NULL'); + $table->dateTime('predate')->nullable()->default('NULL'); + $table->string('source', 50)->default('\'\''); + $table->integer('requestid')->unsigned()->default(0); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups'); + $table->boolean('nuked')->default(0)->comment('Is this pre nuked? 0 no 2 yes 1 un nuked 3 mod nuked'); + $table->string('nukereason')->nullable()->default('NULL')->comment('If this pre is nuked, what is the reason?'); + $table->string('files', 50)->nullable()->default('NULL')->comment('How many files does this pre have ?'); + $table->string('filename')->default('\'\''); + $table->boolean('searched')->default(0); + $table->string('groupname')->nullable()->default('NULL'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('predb_imports'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_predb_table.php b/database/migrations/2017_10_12_124141_create_predb_table.php new file mode 100644 index 000000000..83f222ba8 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_predb_table.php @@ -0,0 +1,45 @@ +increments('id')->comment('Primary key'); + $table->string('title')->default('\'\'')->unique('ix_predb_title'); + $table->string('nfo')->nullable()->default('NULL')->index('ix_predb_nfo'); + $table->string('size', 50)->nullable()->default('NULL'); + $table->string('category')->nullable()->default('NULL'); + $table->dateTime('predate')->nullable()->default('NULL')->index('ix_predb_predate'); + $table->string('source', 50)->default('\'\'')->index('ix_predb_source'); + $table->integer('requestid')->unsigned()->default(0); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups'); + $table->boolean('nuked')->default(0)->comment('Is this pre nuked? 0 no 2 yes 1 un nuked 3 mod nuked'); + $table->string('nukereason')->nullable()->default('NULL')->comment('If this pre is nuked, what is the reason?'); + $table->string('files', 50)->nullable()->default('NULL')->comment('How many files does this pre have ?'); + $table->string('filename')->default('\'\'')->index('ft_predb_filename'); + $table->boolean('searched')->default(0)->index('ix_predb_searched'); + $table->index(['requestid','groups_id'], 'ix_predb_requestid'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('predb'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_release_comments_table.php b/database/migrations/2017_10_12_124141_create_release_comments_table.php new file mode 100644 index 000000000..293d4546f --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_release_comments_table.php @@ -0,0 +1,48 @@ +increments('id'); + $table->integer('releases_id')->unsigned()->index('ix_releasecomment_releases_id')->comment('FK to releases.id'); + $table->string('text', 2000)->default('\'\''); + $table->boolean('isvisible')->default(1); + $table->boolean('issynced')->default(0); + $table->string('gid', 32)->nullable()->default('NULL'); + $table->string('cid', 32)->nullable()->default('NULL'); + $table->string('text_hash', 32)->default('\'\''); + $table->string('username')->default('\'\''); + $table->integer('users_id')->unsigned()->index('ix_releasecomment_userid'); + $table->timestamps(); + $table->string('host', 15)->nullable()->default('NULL'); + $table->boolean('shared')->default(0); + $table->string('shareid', 40)->default('\'\''); + $table->string('siteid', 40)->default('\'\''); + $table->bigInteger('sourceid')->unsigned()->nullable()->default('NULL'); + $table->binary('nzb_guid', 16)->default('\'0$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$\''); + $table->unique(['text_hash','releases_id'], 'ix_release_comments_hash_releases_id'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('release_comments'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_release_files_table.php b/database/migrations/2017_10_12_124141_create_release_files_table.php new file mode 100644 index 000000000..6f069a5b8 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_release_files_table.php @@ -0,0 +1,37 @@ +integer('releases_id')->unsigned()->comment('FK to releases.id'); + $table->string('name')->default('\'\''); + $table->bigInteger('size')->unsigned()->default(0); + $table->boolean('ishashed')->default(0)->index('ix_releasefiles_ishashed'); + $table->timestamps(); + $table->boolean('passworded')->default(0); + $table->primary(['releases_id','name']); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('release_files'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_release_naming_regexes_table.php b/database/migrations/2017_10_12_124141_create_release_naming_regexes_table.php new file mode 100644 index 000000000..cf3239a50 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_release_naming_regexes_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->string('group_regex')->default('\'\'')->index('ix_release_naming_regexes_group_regex')->comment('This is a regex to match against usenet groups'); + $table->string('regex', 5000)->default('\'\'')->comment('Regex used for extracting name from subject'); + $table->boolean('status')->default(1)->index('ix_release_naming_regexes_status')->comment('1=ON 0=OFF'); + $table->string('description', 1000)->default('\'\'')->comment('Optional extra details on this regex'); + $table->integer('ordinal')->default(0)->index('ix_release_naming_regexes_ordinal')->comment('Order to run the regex in'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('release_naming_regexes'); + } +} diff --git a/database/migrations/2017_09_02_205520_create_release_nfos_table.php b/database/migrations/2017_10_12_124141_create_release_nfos_table.php similarity index 67% rename from database/migrations/2017_09_02_205520_create_release_nfos_table.php rename to database/migrations/2017_10_12_124141_create_release_nfos_table.php index 9d7478893..2480b187f 100644 --- a/database/migrations/2017_09_02_205520_create_release_nfos_table.php +++ b/database/migrations/2017_10_12_124141_create_release_nfos_table.php @@ -1,11 +1,11 @@ unsignedInteger('releases_id'); - $table->binary('nfo'); - $table->primary('releases_id'); + $table->integer('releases_id')->unsigned()->primary()->comment('FK to releases.id'); + $table->binary('nfo', 65535)->nullable()->default('NULL'); }); } + /** * Reverse the migrations. * @@ -27,6 +27,6 @@ class CreateReleaseNfosTable extends Migration */ public function down() { - Schema::dropIfExists('release_nfos'); + Schema::drop('release_nfos'); } } diff --git a/database/migrations/2017_09_02_205409_create_release_regexes_table.php b/database/migrations/2017_10_12_124141_create_release_regexes_table.php similarity index 58% rename from database/migrations/2017_09_02_205409_create_release_regexes_table.php rename to database/migrations/2017_10_12_124141_create_release_regexes_table.php index be5340bbf..4b226d5cd 100644 --- a/database/migrations/2017_09_02_205409_create_release_regexes_table.php +++ b/database/migrations/2017_10_12_124141_create_release_regexes_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('releases_id')->unsigned()->default(0); + $table->integer('collection_regex_id')->default(0); + $table->integer('naming_regex_id')->default(0); + $table->primary(['releases_id','collection_regex_id','naming_regex_id']); }); } + /** * Reverse the migrations. * @@ -26,6 +29,6 @@ class CreateReleaseRegexesTable extends Migration */ public function down() { - Schema::dropIfExists('release_regexes'); + Schema::drop('release_regexes'); } } diff --git a/database/migrations/2017_10_12_124141_create_release_search_data_table.php b/database/migrations/2017_10_12_124141_create_release_search_data_table.php new file mode 100644 index 000000000..e7b0c8ed6 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_release_search_data_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->integer('releases_id')->unsigned()->index('ix_releasesearch_releases_id')->comment('FK to releases.id'); + $table->string('guid', 50)->index('ix_releasesearch_guid'); + $table->string('name')->default('\'\'')->index('ix_releasesearch_name_ft'); + $table->string('searchname')->default('\'\'')->index('ix_releasesearch_searchname_ft'); + $table->string('fromname')->nullable()->default('NULL')->index('ix_releasesearch_fromname_ft'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('release_search_data'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_release_subtitles_table.php b/database/migrations/2017_10_12_124141_create_release_subtitles_table.php new file mode 100644 index 000000000..5c3c2a76b --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_release_subtitles_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->integer('releases_id')->unsigned()->comment('FK to releases.id'); + $table->integer('subsid')->unsigned(); + $table->string('subslanguage', 50); + $table->unique(['releases_id','subsid'], 'ix_releasesubs_releases_id_subsid'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('release_subtitles'); + } +} diff --git a/database/migrations/2017_09_02_205425_create_release_unique_table.php b/database/migrations/2017_10_12_124141_create_release_unique_table.php similarity index 56% rename from database/migrations/2017_09_02_205425_create_release_unique_table.php rename to database/migrations/2017_10_12_124141_create_release_unique_table.php index 2abb31681..294b7bf32 100644 --- a/database/migrations/2017_09_02_205425_create_release_unique_table.php +++ b/database/migrations/2017_10_12_124141_create_release_unique_table.php @@ -1,11 +1,11 @@ unsignedInteger('releases_id'); - $table->binary('uniqueid'); - $table->primary(['releases_id', 'uniqueid']); + $table->integer('releases_id')->unsigned()->comment('FK to releases.id.'); + $table->binary('uniqueid', 16)->default('\'0$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$$UP$\'')->comment('Unique_ID from mediainfo.'); + $table->primary(['releases_id','uniqueid']); }); } + /** * Reverse the migrations. * @@ -27,6 +28,6 @@ class CreateReleaseUniqueTable extends Migration */ public function down() { - Schema::dropIfExists('release_unique'); + Schema::drop('release_unique'); } } diff --git a/database/migrations/2017_09_02_205335_create_release_comments_table.php b/database/migrations/2017_10_12_124141_create_releaseextrafull_table.php similarity index 50% rename from database/migrations/2017_09_02_205335_create_release_comments_table.php rename to database/migrations/2017_10_12_124141_create_releaseextrafull_table.php index 4057043ff..2776cf003 100644 --- a/database/migrations/2017_09_02_205335_create_release_comments_table.php +++ b/database/migrations/2017_10_12_124141_create_releaseextrafull_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + Schema::create('releaseextrafull', function (Blueprint $table) { + $table->integer('releases_id')->unsigned()->primary()->comment('FK to releases.id'); + $table->text('mediainfo', 65535)->nullable()->default('NULL'); }); } + /** * Reverse the migrations. * @@ -26,6 +27,6 @@ class CreateReleaseCommentsTable extends Migration */ public function down() { - Schema::dropIfExists('release_comments'); + Schema::drop('releaseextrafull'); } } diff --git a/database/migrations/2017_09_02_205352_create_releases_groups_table.php b/database/migrations/2017_10_12_124141_create_releases_groups_table.php similarity index 60% rename from database/migrations/2017_09_02_205352_create_releases_groups_table.php rename to database/migrations/2017_10_12_124141_create_releases_groups_table.php index f29ddf4c5..eff06141d 100644 --- a/database/migrations/2017_09_02_205352_create_releases_groups_table.php +++ b/database/migrations/2017_10_12_124141_create_releases_groups_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('releases_id')->unsigned()->default(0)->comment('FK to releases.id'); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups.id'); + $table->primary(['releases_id','groups_id']); }); } + /** * Reverse the migrations. * @@ -26,6 +28,6 @@ class CreateReleasesGroupsTable extends Migration */ public function down() { - Schema::dropIfExists('releases_groups'); + Schema::drop('releases_groups'); } } diff --git a/database/migrations/2017_10_12_124141_create_releases_table.php b/database/migrations/2017_10_12_124141_create_releases_table.php new file mode 100644 index 000000000..efb12ece0 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_releases_table.php @@ -0,0 +1,92 @@ +increments('id'); + $table->string('name', 400)->default('\'\'')->index('ix_releases_name'); + $table->string('searchname', 300)->default('\'\'')->comment('Release search name'); + $table->integer('totalpart')->nullable()->default(0); + $table->integer('groups_id')->unsigned()->default(0)->comment('FK to groups.id'); + $table->bigInteger('size')->unsigned()->default(0); + $table->dateTime('postdate')->nullable()->default('NULL'); + $table->dateTime('adddate')->nullable()->default('NULL'); + $table->dateTime('updatetime')->default('current_timestamp()'); + $table->string('gid', 32)->nullable()->default('NULL'); + $table->string('guid', 40)->index('ix_releases_guid'); + $table->char('leftguid', 1)->comment('The first letter of the release guid'); + $table->string('fromname')->nullable()->default('NULL'); + $table->float('completion', 10, 0)->default(0); + $table->integer('categories_id')->default(10); + $table->integer('videos_id')->unsigned()->default(0)->index('ix_releases_videos_id')->comment('FK to videos.id of the parent series.'); + $table->integer('tv_episodes_id')->default(0)->index('ix_releases_tv_episodes_id')->comment('FK to tv_episodes.id for the episode.'); + $table->integer('imdbid')->unsigned()->nullable()->default('NULL')->index('ix_releases_imdbid'); + $table->integer('xxxinfo_id')->default(0)->index('ix_releases_xxxinfo_id'); + $table->integer('musicinfo_id')->nullable()->default('NULL')->comment('FK to musicinfo.id'); + $table->integer('consoleinfo_id')->nullable()->default('NULL')->index('ix_releases_consoleinfo_id')->comment('FK to consoleinfo.id'); + $table->integer('gamesinfo_id')->default(0)->index('ix_releases_gamesinfo_id'); + $table->integer('bookinfo_id')->nullable()->default('NULL')->index('ix_releases_bookinfo_id')->comment('FK to bookinfo.id'); + $table->integer('anidbid')->nullable()->default('NULL')->index('ix_releases_anidbid')->comment('FK to anidb_titles.anidbid'); + $table->integer('predb_id')->unsigned()->default(0)->comment('FK to predb.id'); + $table->integer('grabs')->unsigned()->default(0); + $table->integer('comments')->default(0); + $table->boolean('passwordstatus')->default(0)->index('ix_releases_passwordstatus'); + $table->integer('rarinnerfilecount')->default(0); + $table->boolean('haspreview')->default(0); + $table->boolean('nfostatus')->default(0); + $table->boolean('jpgstatus')->default(0); + $table->boolean('videostatus')->default(0); + $table->boolean('audiostatus')->default(0); + $table->boolean('dehashstatus')->default(0); + $table->boolean('reqidstatus')->default(0); + $table->binary('nzb_guid', 16)->nullable()->default('NULL')->index('ix_releases_nzb_guid'); + $table->boolean('nzbstatus')->default(0); + $table->boolean('iscategorized')->default(0); + $table->boolean('isrenamed')->default(0); + $table->boolean('ishashed')->default(0); + $table->boolean('isrequestid')->default(0); + $table->boolean('proc_pp')->default(0); + $table->boolean('proc_sorter')->default(0); + $table->boolean('proc_par2')->default(0); + $table->boolean('proc_nfo')->default(0); + $table->boolean('proc_files')->default(0); + $table->boolean('proc_uid')->default(0); + $table->boolean('proc_srr')->default(0)->comment('Has the release been srr +processed'); + $table->boolean('proc_hash16k')->default(0)->comment('Has the release been +hash16k processed'); + $table->primary(['id','categories_id']); + $table->index(['groups_id','passwordstatus'], 'ix_releases_groupsid'); + $table->index(['postdate','searchname'], 'ix_releases_postdate_searchname'); + $table->index(['leftguid','predb_id'], 'ix_releases_leftguid'); + $table->index(['musicinfo_id','passwordstatus'], 'ix_releases_musicinfo_id'); + $table->index(['predb_id','searchname'], 'ix_releases_predb_id_searchname'); + $table->index(['haspreview','passwordstatus'], 'ix_releases_haspreview_passwordstatus'); + $table->index(['nfostatus','size'], 'ix_releases_nfostatus'); + $table->index(['dehashstatus','ishashed'], 'ix_releases_dehashstatus'); + $table->index(['adddate','reqidstatus','isrequestid'], 'ix_releases_reqidstatus'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('releases'); + } +} diff --git a/database/migrations/2017_09_02_205913_create_role_excluded_categories_table.php b/database/migrations/2017_10_12_124141_create_role_excluded_categories_table.php similarity index 69% rename from database/migrations/2017_09_02_205913_create_role_excluded_categories_table.php rename to database/migrations/2017_10_12_124141_create_role_excluded_categories_table.php index 639a8ba3c..f5f5dd01b 100644 --- a/database/migrations/2017_09_02_205913_create_role_excluded_categories_table.php +++ b/database/migrations/2017_10_12_124141_create_role_excluded_categories_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('role'); + $table->integer('categories_id')->nullable()->default('NULL'); $table->timestamps(); + $table->unique(['role','categories_id'], 'ix_roleexcat_rolecat'); }); } + /** * Reverse the migrations. * @@ -26,6 +30,6 @@ class CreateRoleExcludedCategoriesTable extends Migration */ public function down() { - Schema::dropIfExists('role_excluded_categories'); + Schema::drop('role_excluded_categories'); } } diff --git a/database/migrations/2017_10_12_124141_create_settings_table.php b/database/migrations/2017_10_12_124141_create_settings_table.php new file mode 100644 index 000000000..b4d2d19d1 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_settings_table.php @@ -0,0 +1,37 @@ +string('section', 25)->default('\'\''); + $table->string('subsection', 25)->default('\'\''); + $table->string('name', 25)->default('\'\''); + $table->string('value', 1000)->default('\'\''); + $table->text('hint', 65535); + $table->string('setting', 64)->default('\'\'')->unique('ui_settings_setting'); + $table->primary(['section','subsection','name']); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('settings'); + } +} diff --git a/database/migrations/2017_09_02_205624_create_sharing_sites_table.php b/database/migrations/2017_10_12_124141_create_sharing_sites_table.php similarity index 53% rename from database/migrations/2017_09_02_205624_create_sharing_sites_table.php rename to database/migrations/2017_10_12_124141_create_sharing_sites_table.php index bbcb695fe..03baff558 100644 --- a/database/migrations/2017_09_02_205624_create_sharing_sites_table.php +++ b/database/migrations/2017_10_12_124141_create_sharing_sites_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->string('site_name')->default('\'\''); + $table->string('site_guid', 40)->default('\'\''); + $table->dateTime('last_time')->nullable()->default('NULL'); + $table->dateTime('first_time')->nullable()->default('NULL'); + $table->boolean('enabled')->default(0); + $table->integer('comments')->unsigned()->default(0); }); } + /** * Reverse the migrations. * @@ -26,6 +32,6 @@ class CreateSharingSitesTable extends Migration */ public function down() { - Schema::dropIfExists('sharing_sites'); + Schema::drop('sharing_sites'); } } diff --git a/database/migrations/2017_10_12_124141_create_sharing_table.php b/database/migrations/2017_10_12_124141_create_sharing_table.php new file mode 100644 index 000000000..bc57be2b2 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_sharing_table.php @@ -0,0 +1,43 @@ +string('site_guid', 40)->default('\'\'')->primary(); + $table->string('site_name')->default('\'\''); + $table->string('username')->default('\'\''); + $table->boolean('enabled')->default(0); + $table->boolean('posting')->default(0); + $table->boolean('fetching')->default(1); + $table->boolean('auto_enable')->default(1); + $table->boolean('start_position')->default(0); + $table->boolean('hide_users')->default(1); + $table->bigInteger('last_article')->unsigned()->default(0); + $table->integer('max_push')->unsigned()->default(40); + $table->integer('max_download')->unsigned()->default(150); + $table->integer('max_pull')->unsigned()->default(20000); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('sharing'); + } +} diff --git a/database/migrations/2017_09_02_205635_create_short_groups_table.php b/database/migrations/2017_10_12_124141_create_short_groups_table.php similarity index 54% rename from database/migrations/2017_09_02_205635_create_short_groups_table.php rename to database/migrations/2017_10_12_124141_create_short_groups_table.php index 1ac977ba4..c8d8371ee 100644 --- a/database/migrations/2017_09_02_205635_create_short_groups_table.php +++ b/database/migrations/2017_10_12_124141_create_short_groups_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('id', true); + $table->string('name')->default('\'\'')->index('ix_shortgroups_name'); + $table->bigInteger('first_record')->unsigned()->default(0); + $table->bigInteger('last_record')->unsigned()->default(0); + $table->dateTime('updated')->nullable()->default('NULL'); }); } + /** * Reverse the migrations. * @@ -26,6 +30,6 @@ class CreateShortGroupsTable extends Migration */ public function down() { - Schema::dropIfExists('short_groups'); + Schema::drop('short_groups'); } } diff --git a/database/migrations/2017_10_12_124141_create_spotnabsources_table.php b/database/migrations/2017_10_12_124141_create_spotnabsources_table.php new file mode 100644 index 000000000..e584266ba --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_spotnabsources_table.php @@ -0,0 +1,42 @@ +bigInteger('id', true)->unsigned(); + $table->string('username', 64)->default('\'nntp\''); + $table->string('useremail', 128)->default('\'spot@nntp.com\''); + $table->string('usenetgroup', 64)->default('\'alt.binaries.backup\''); + $table->string('publickey', 512); + $table->boolean('active')->default(0); + $table->string('description')->nullable()->default('\'\''); + $table->dateTime('lastupdate')->nullable()->default('NULL'); + $table->dateTime('lastbroadcast')->nullable()->default('NULL'); + $table->bigInteger('lastarticle')->unsigned()->default(0); + $table->dateTime('dateadded')->nullable()->default('NULL'); + $table->unique(['username','useremail','usenetgroup'], 'spotnabsources_ix1'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('spotnabsources'); + } +} diff --git a/database/migrations/2017_09_02_205700_create_steam_apps_table.php b/database/migrations/2017_10_12_124141_create_steam_apps_table.php similarity index 61% rename from database/migrations/2017_09_02_205700_create_steam_apps_table.php rename to database/migrations/2017_10_12_124141_create_steam_apps_table.php index 6d1d23042..ecbb19118 100644 --- a/database/migrations/2017_09_02_205700_create_steam_apps_table.php +++ b/database/migrations/2017_10_12_124141_create_steam_apps_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->string('name')->default('\'\'')->index('ix_name_ft')->comment('Steam application name'); + $table->integer('appid')->unsigned()->comment('Steam application id'); + $table->primary(['appid','name']); }); } + /** * Reverse the migrations. * @@ -26,6 +28,6 @@ class CreateSteamAppsTable extends Migration */ public function down() { - Schema::dropIfExists('steam_apps'); + Schema::drop('steam_apps'); } } diff --git a/database/migrations/2017_10_09_231118_create_binaries_table.php b/database/migrations/2017_10_12_124141_create_tmux_table.php similarity index 51% rename from database/migrations/2017_10_09_231118_create_binaries_table.php rename to database/migrations/2017_10_12_124141_create_tmux_table.php index 416b20ccd..f7ac92e36 100644 --- a/database/migrations/2017_10_09_231118_create_binaries_table.php +++ b/database/migrations/2017_10_12_124141_create_tmux_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->string('setting', 64)->unique('ix_tmux_setting'); + $table->string('value', 19000)->nullable()->default('NULL'); + $table->dateTime('updateddate')->default('current_timestamp()'); }); } + /** * Reverse the migrations. * @@ -26,6 +29,6 @@ class CreateBinariesTable extends Migration */ public function down() { - Schema::dropIfExists('binaries'); + Schema::drop('tmux'); } } diff --git a/database/migrations/2017_10_12_124141_create_tv_episodes_table.php b/database/migrations/2017_10_12_124141_create_tv_episodes_table.php new file mode 100644 index 000000000..e9ec64849 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_tv_episodes_table.php @@ -0,0 +1,39 @@ +increments('id'); + $table->integer('videos_id')->unsigned()->comment('FK to videos.id of the parent series.'); + $table->smallInteger('series')->unsigned()->default(0)->comment('Number of series/season.'); + $table->smallInteger('episode')->unsigned()->default(0)->comment('Number of episode within series'); + $table->string('se_complete', 10)->comment('String version of Series/Episode as taken from release subject (i.e. S02E21+22).'); + $table->string('title', 180)->comment('Title of the episode.'); + $table->date('firstaired')->comment('Date of original airing/release.'); + $table->text('summary', 65535)->comment('Description/summary of the episode.'); + $table->unique(['videos_id','series','episode','firstaired'], 'videos_id'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('tv_episodes'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_tv_info_table.php b/database/migrations/2017_10_12_124141_create_tv_info_table.php new file mode 100644 index 000000000..99a4bbcc1 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_tv_info_table.php @@ -0,0 +1,35 @@ +integer('videos_id')->unsigned()->default(0)->primary()->comment('FK to video.id'); + $table->text('summary', 65535)->comment('Description/summary of the show.'); + $table->string('publisher', 50)->comment('The channel/network of production/release (ABC, BBC, Showtime, etc.).'); + $table->string('localzone', 50)->default('\'\'')->comment('The linux tz style identifier'); + $table->boolean('image')->default(0)->index('ix_tv_info_image')->comment('Does the video have a cover image?'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('tv_info'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_upcoming_releases_table.php b/database/migrations/2017_10_12_124141_create_upcoming_releases_table.php new file mode 100644 index 000000000..52a047311 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_upcoming_releases_table.php @@ -0,0 +1,36 @@ +integer('id', true); + $table->string('source', 20); + $table->integer('typeid'); + $table->text('info', 65535)->nullable()->default('NULL'); + $table->dateTime('updateddate')->default('current_timestamp()'); + $table->unique(['source','typeid'], 'ix_upcoming_source'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('upcoming_releases'); + } +} diff --git a/database/migrations/2017_09_02_205844_create_user_downloads_table.php b/database/migrations/2017_10_12_124141_create_user_downloads_table.php similarity index 64% rename from database/migrations/2017_09_02_205844_create_user_downloads_table.php rename to database/migrations/2017_10_12_124141_create_user_downloads_table.php index d4529e8e2..58a72e3ad 100644 --- a/database/migrations/2017_09_02_205844_create_user_downloads_table.php +++ b/database/migrations/2017_10_12_124141_create_user_downloads_table.php @@ -1,11 +1,11 @@ engine = 'innodb'; $table->increments('id'); - $table->unsignedInteger('users_id'); + $table->integer('users_id')->unsigned()->index('userid'); $table->string('hosthash', 50); - $table->dateTime('timestamp'); + $table->dateTime('timestamp')->index('timestamp'); $table->integer('releases_id')->comment('FK to releases.id'); - $table->index('users_id', 'ix_users_id'); - $table->index('timestamp', 'ix_timestamp'); }); } + /** * Reverse the migrations. * @@ -32,6 +30,6 @@ class CreateUserDownloadsTable extends Migration */ public function down() { - Schema::dropIfExists('user_downloads'); + Schema::drop('user_downloads'); } } diff --git a/database/migrations/2017_09_02_205901_create_user_excluded_categories_table.php b/database/migrations/2017_10_12_124141_create_user_excluded_categories_table.php similarity index 70% rename from database/migrations/2017_09_02_205901_create_user_excluded_categories_table.php rename to database/migrations/2017_10_12_124141_create_user_excluded_categories_table.php index 5bf859de5..79f12cf6d 100644 --- a/database/migrations/2017_09_02_205901_create_user_excluded_categories_table.php +++ b/database/migrations/2017_10_12_124141_create_user_excluded_categories_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('users_id')->unsigned(); + $table->integer('categories_id'); $table->timestamps(); + $table->unique(['users_id','categories_id'], 'ix_userexcat_usercat'); }); } + /** * Reverse the migrations. * @@ -26,6 +30,6 @@ class CreateUserExcludedCategoriesTable extends Migration */ public function down() { - Schema::dropIfExists('user_excluded_categories'); + Schema::drop('user_excluded_categories'); } } diff --git a/database/migrations/2017_09_02_205928_create_user_movies_table.php b/database/migrations/2017_10_12_124141_create_user_movies_table.php similarity index 58% rename from database/migrations/2017_09_02_205928_create_user_movies_table.php rename to database/migrations/2017_10_12_124141_create_user_movies_table.php index 558176b03..40119060d 100644 --- a/database/migrations/2017_09_02_205928_create_user_movies_table.php +++ b/database/migrations/2017_10_12_124141_create_user_movies_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('users_id')->unsigned(); + $table->integer('imdbid')->unsigned()->nullable()->default('NULL'); + $table->string('categories', 64)->nullable()->default('NULL')->comment('List of categories for user movies'); $table->timestamps(); + $table->index(['users_id','imdbid'], 'ix_usermovies_userid'); }); } + /** * Reverse the migrations. * @@ -26,6 +31,6 @@ class CreateUserMoviesTable extends Migration */ public function down() { - Schema::dropIfExists('user_movies'); + Schema::drop('user_movies'); } } diff --git a/database/migrations/2017_09_02_210022_create_video_aliases_table.php b/database/migrations/2017_10_12_124141_create_user_requests_table.php similarity index 50% rename from database/migrations/2017_09_02_210022_create_video_aliases_table.php rename to database/migrations/2017_10_12_124141_create_user_requests_table.php index 35d362b28..0a91d0b09 100644 --- a/database/migrations/2017_09_02_210022_create_video_aliases_table.php +++ b/database/migrations/2017_10_12_124141_create_user_requests_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->timestamps(); + $table->integer('users_id')->unsigned()->index('userid'); + $table->string('hosthash', 50); + $table->string('request'); + $table->dateTime('timestamp')->index('timestamp'); }); } + /** * Reverse the migrations. * @@ -26,6 +30,6 @@ class CreateVideoAliasesTable extends Migration */ public function down() { - Schema::dropIfExists('video_aliases'); + Schema::drop('user_requests'); } } diff --git a/database/migrations/2017_10_12_111321_create_user_roles_table.php b/database/migrations/2017_10_12_124141_create_user_roles_table.php similarity index 53% rename from database/migrations/2017_10_12_111321_create_user_roles_table.php rename to database/migrations/2017_10_12_124141_create_user_roles_table.php index 8e43c9c9f..2a4275f54 100644 --- a/database/migrations/2017_10_12_111321_create_user_roles_table.php +++ b/database/migrations/2017_10_12_124141_create_user_roles_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('id', true); $table->string('name', 32); - $table->unsignedInteger('apirequests'); - $table->unsignedInteger('downloadrequests'); - $table->unsignedInteger('defaultinvites'); - $table->tinyInteger('isdefault'); - $table->tinyInteger('cabpreview'); - $table->tinyInteger('hideads'); + $table->integer('apirequests')->unsigned(); + $table->integer('downloadrequests')->unsigned(); + $table->integer('defaultinvites')->unsigned(); + $table->boolean('isdefault')->default(0); + $table->boolean('canpreview')->default(0); + $table->boolean('hideads')->default(0); }); } + /** * Reverse the migrations. * @@ -32,6 +33,6 @@ class CreateUserRolesTable extends Migration */ public function down() { - Schema::dropIfExists('user_roles'); + Schema::drop('user_roles'); } } diff --git a/database/migrations/2017_09_02_205949_create_user_series_table.php b/database/migrations/2017_10_12_124141_create_user_series_table.php similarity index 58% rename from database/migrations/2017_09_02_205949_create_user_series_table.php rename to database/migrations/2017_10_12_124141_create_user_series_table.php index 2a1b480b1..f4185b6c0 100644 --- a/database/migrations/2017_09_02_205949_create_user_series_table.php +++ b/database/migrations/2017_10_12_124141_create_user_series_table.php @@ -1,11 +1,11 @@ increments('id'); + $table->integer('users_id')->unsigned(); + $table->integer('videos_id')->comment('FK to videos.id'); + $table->string('categories', 64)->nullable()->default('NULL')->comment('List of categories for user tv shows'); $table->timestamps(); + $table->index(['users_id','videos_id'], 'ix_userseries_videos_id'); }); } + /** * Reverse the migrations. * @@ -26,6 +31,6 @@ class CreateUserSeriesTable extends Migration */ public function down() { - Schema::dropIfExists('user_series'); + Schema::drop('user_series'); } } diff --git a/database/migrations/2017_09_02_205804_create_users_releases_table.php b/database/migrations/2017_10_12_124141_create_users_releases_table.php similarity index 58% rename from database/migrations/2017_09_02_205804_create_users_releases_table.php rename to database/migrations/2017_10_12_124141_create_users_releases_table.php index 0383073d9..28ce2ab4c 100644 --- a/database/migrations/2017_09_02_205804_create_users_releases_table.php +++ b/database/migrations/2017_10_12_124141_create_users_releases_table.php @@ -1,11 +1,11 @@ increments('id'); - $table->integer('users_id'); - $table->integer('releases_id'); - $table->dateTime('created_at'); - $table->dateTime('updated_at'); - $table->unique(['users_id', 'releases_id'], 'ix_usercart_userrelease'); + $table->integer('users_id')->unsigned(); + $table->integer('releases_id')->comment('FK to releases.id'); + $table->timestamps(); + $table->dateTime('updateddate'); + $table->unique(['users_id','releases_id'], 'ix_usercart_userrelease'); }); } + /** * Reverse the migrations. * @@ -30,6 +31,6 @@ class CreateUsersReleasesTable extends Migration */ public function down() { - Schema::dropIfExists('users_releases'); + Schema::drop('users_releases'); } } diff --git a/database/migrations/2017_10_12_124141_create_users_table.php b/database/migrations/2017_10_12_124141_create_users_table.php new file mode 100644 index 000000000..811346520 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_users_table.php @@ -0,0 +1,69 @@ +increments('id'); + $table->string('username', 50); + $table->string('firstname')->nullable()->default('NULL'); + $table->string('lastname')->nullable()->default('NULL'); + $table->string('email'); + $table->string('password'); + $table->integer('user_roles_id')->default(1)->index('ix_role')->comment('FK to user_roles.id'); + $table->string('host', 40)->nullable()->default('NULL'); + $table->integer('grabs')->default(0); + $table->string('rsstoken', 64); + $table->timestamps(); + $table->string('resetguid', 50)->nullable()->default('NULL'); + $table->dateTime('lastlogin')->nullable()->default('NULL'); + $table->dateTime('apiaccess')->nullable()->default('NULL'); + $table->integer('invites')->default(0); + $table->integer('invitedby')->nullable()->default('NULL'); + $table->integer('movieview')->default(1); + $table->integer('xxxview')->default(1); + $table->integer('musicview')->default(1); + $table->integer('consoleview')->default(1); + $table->integer('bookview')->default(1); + $table->integer('gameview')->default(1); + $table->string('saburl')->nullable()->default('NULL'); + $table->string('sabapikey')->nullable()->default('NULL'); + $table->boolean('sabapikeytype')->nullable()->default('NULL'); + $table->boolean('sabpriority')->nullable()->default('NULL'); + $table->boolean('queuetype')->default(1)->comment('Type of queue, Sab or NZBGet'); + $table->string('nzbgeturl')->nullable()->default('NULL'); + $table->string('nzbgetusername')->nullable()->default('NULL'); + $table->string('nzbgetpassword')->nullable()->default('NULL'); + $table->string('nzbvortex_api_key', 10)->nullable()->default('NULL'); + $table->string('nzbvortex_server_url')->nullable()->default('NULL'); + $table->string('userseed', 50); + $table->string('notes'); + $table->string('cp_url')->nullable()->default('NULL'); + $table->string('cp_api')->nullable()->default('NULL'); + $table->string('style')->nullable()->default('NULL'); + $table->dateTime('rolechangedate')->nullable()->default('NULL')->comment('When does the role expire'); + $table->string('remember_token', 100)->nullable()->default('\'NULL\''); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('users'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_video_data_table.php b/database/migrations/2017_10_12_124141_create_video_data_table.php new file mode 100644 index 000000000..9960e16b5 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_video_data_table.php @@ -0,0 +1,41 @@ +integer('releases_id')->unsigned()->primary()->comment('FK to releases.id'); + $table->string('containerformat', 50)->nullable()->default('NULL'); + $table->string('overallbitrate', 20)->nullable()->default('NULL'); + $table->string('videoduration', 20)->nullable()->default('NULL'); + $table->string('videoformat', 50)->nullable()->default('NULL'); + $table->string('videocodec', 50)->nullable()->default('NULL'); + $table->integer('videowidth')->nullable()->default('NULL'); + $table->integer('videoheight')->nullable()->default('NULL'); + $table->string('videoaspect', 10)->nullable()->default('NULL'); + $table->float('videoframerate', 7, 4)->nullable()->default('NULL'); + $table->string('videolibrary', 50)->nullable()->default('NULL'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('video_data'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_videos_aliases_table.php b/database/migrations/2017_10_12_124141_create_videos_aliases_table.php new file mode 100644 index 000000000..29f026e33 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_videos_aliases_table.php @@ -0,0 +1,33 @@ +integer('videos_id')->unsigned()->comment('FK to videos.id of the parent title.'); + $table->string('title', 180)->comment('AKA of the video.'); + $table->primary(['videos_id','title']); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('videos_aliases'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_videos_table.php b/database/migrations/2017_10_12_124141_create_videos_table.php new file mode 100644 index 000000000..972852f18 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_videos_table.php @@ -0,0 +1,45 @@ +increments('id')->comment('Show ID to be used in other tables as reference '); + $table->boolean('type')->default(0)->comment('0 = TV, 1 = Film, 2 = Anime'); + $table->string('title', 180)->comment('Name of the video.'); + $table->char('countries_id', 2)->default('\'\'')->comment('Two character country code (FK to countries table).'); + $table->dateTime('started')->comment('Date (UTC) of production\'s first airing.'); + $table->integer('anidb')->unsigned()->default(0)->comment('ID number for anidb site'); + $table->integer('imdb')->unsigned()->default(0)->index('ix_videos_imdb')->comment('ID number for IMDB site (without the \'tt\' prefix).'); + $table->integer('tmdb')->unsigned()->default(0)->index('ix_videos_tmdb')->comment('ID number for TMDB site.'); + $table->integer('trakt')->unsigned()->default(0)->index('ix_videos_trakt')->comment('ID number for TraktTV site.'); + $table->integer('tvdb')->unsigned()->default(0)->index('ix_videos_tvdb')->comment('ID number for TVDB site'); + $table->integer('tvmaze')->unsigned()->default(0)->index('ix_videos_tvmaze')->comment('ID number for TVMaze site.'); + $table->integer('tvrage')->unsigned()->default(0)->index('ix_videos_tvrage')->comment('ID number for TVRage site.'); + $table->boolean('source')->default(0)->comment('Which site did we use for info?'); + $table->unique(['title','type','started','countries_id'], 'ix_videos_title'); + $table->index(['type','source'], 'ix_videos_type_source'); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('videos'); + } +} diff --git a/database/migrations/2017_10_12_124141_create_xxxinfo_table.php b/database/migrations/2017_10_12_124141_create_xxxinfo_table.php new file mode 100644 index 000000000..9de7ad1a1 --- /dev/null +++ b/database/migrations/2017_10_12_124141_create_xxxinfo_table.php @@ -0,0 +1,45 @@ +increments('id'); + $table->string('title', 1024)->unique('ix_xxxinfo_title'); + $table->string('tagline', 1024); + $table->binary('plot', 65535)->nullable()->default('NULL'); + $table->string('genre'); + $table->string('director')->nullable()->default('NULL'); + $table->string('actors', 2500); + $table->text('extras', 65535)->nullable()->default('NULL'); + $table->text('productinfo', 65535)->nullable()->default('NULL'); + $table->text('trailers', 65535)->nullable()->default('NULL'); + $table->string('directurl', 2000); + $table->string('classused', 20)->default('\'\''); + $table->boolean('cover')->default(0); + $table->boolean('backdrop')->default(0); + $table->timestamps(); + }); + } + + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('xxxinfo'); + } +}