diff --git a/app/Filament/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php b/app/Filament/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php index dd37e5c26..e33066539 100644 --- a/app/Filament/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php +++ b/app/Filament/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php @@ -36,7 +36,7 @@ class CreateDatabaseHost extends CreateRecord ->required() ->live(onBlur: true) ->afterStateUpdated(fn ($state, Forms\Set $set) => $set('name', $state)) - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('port') ->columnSpan(1) ->helperText('The port that MySQL is running on for this host.') @@ -57,12 +57,12 @@ class CreateDatabaseHost extends CreateRecord Forms\Components\TextInput::make('username') ->helperText('The username of an account that has enough permissions to create new users and databases on the system.') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('password') ->helperText('The password for the database user.') ->password() ->revealable() - ->maxLength(191) + ->maxLength(255) ->required(), Forms\Components\Select::make('node_id') ->searchable() diff --git a/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php b/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php index 1e46e6055..16a3ec5a1 100644 --- a/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php +++ b/app/Filament/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php @@ -32,7 +32,7 @@ class EditDatabaseHost extends EditRecord ->required() ->live(onBlur: true) ->afterStateUpdated(fn ($state, Forms\Set $set) => $set('name', $state)) - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('port') ->columnSpan(1) ->helperText('The port that MySQL is running on for this host.') @@ -52,12 +52,12 @@ class EditDatabaseHost extends EditRecord Forms\Components\TextInput::make('username') ->helperText('The username of an account that has enough permissions to create new users and databases on the system.') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('password') ->helperText('The password for the database user.') ->password() ->revealable() - ->maxLength(191) + ->maxLength(255) ->required(), Forms\Components\Select::make('node_id') ->searchable() diff --git a/app/Filament/Resources/DatabaseResource/Pages/CreateDatabase.php b/app/Filament/Resources/DatabaseResource/Pages/CreateDatabase.php index 041a79db6..c56b5f586 100644 --- a/app/Filament/Resources/DatabaseResource/Pages/CreateDatabase.php +++ b/app/Filament/Resources/DatabaseResource/Pages/CreateDatabase.php @@ -25,14 +25,14 @@ class CreateDatabase extends CreateRecord ->numeric(), Forms\Components\TextInput::make('database') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('remote') ->required() - ->maxLength(191) + ->maxLength(255) ->default('%'), Forms\Components\TextInput::make('username') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('password') ->password() ->revealable() diff --git a/app/Filament/Resources/DatabaseResource/Pages/EditDatabase.php b/app/Filament/Resources/DatabaseResource/Pages/EditDatabase.php index 2ff5af76b..aa8754ce1 100644 --- a/app/Filament/Resources/DatabaseResource/Pages/EditDatabase.php +++ b/app/Filament/Resources/DatabaseResource/Pages/EditDatabase.php @@ -26,14 +26,14 @@ class EditDatabase extends EditRecord ->numeric(), Forms\Components\TextInput::make('database') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('remote') ->required() - ->maxLength(191) + ->maxLength(255) ->default('%'), Forms\Components\TextInput::make('username') ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('password') ->password() ->revealable() diff --git a/app/Filament/Resources/EggResource/Pages/CreateEgg.php b/app/Filament/Resources/EggResource/Pages/CreateEgg.php index 5ae0cb80f..f05ec2969 100644 --- a/app/Filament/Resources/EggResource/Pages/CreateEgg.php +++ b/app/Filament/Resources/EggResource/Pages/CreateEgg.php @@ -25,11 +25,11 @@ class CreateEgg extends CreateRecord ->schema([ Forms\Components\TextInput::make('name') ->required() - ->maxLength(191) + ->maxLength(255) ->columnSpan(['default' => 1, 'sm' => 1, 'md' => 2, 'lg' => 2]) ->helperText('A simple, human-readable name to use as an identifier for this Egg.'), Forms\Components\TextInput::make('author') - ->maxLength(191) + ->maxLength(255) ->required() ->email() ->columnSpan(['default' => 1, 'sm' => 1, 'md' => 2, 'lg' => 2]) @@ -88,7 +88,7 @@ class CreateEgg extends CreateRecord ->helperText('If you would like to default to settings from another Egg select it from the menu above.'), Forms\Components\TextInput::make('config_stop') ->required() - ->maxLength(191) + ->maxLength(255) ->label('Stop Command') ->helperText('The command that should be sent to server processes to stop them gracefully. If you need to send a SIGINT you should enter ^C here.'), Forms\Components\Textarea::make('config_startup')->rows(10)->json() @@ -140,7 +140,7 @@ class CreateEgg extends CreateRecord Forms\Components\TextInput::make('name') ->live() ->debounce(750) - ->maxLength(191) + ->maxLength(255) ->columnSpanFull() ->afterStateUpdated(fn (Forms\Set $set, $state) => $set('env_variable', str($state)->trim()->snake()->upper()->toString()) ) @@ -148,13 +148,13 @@ class CreateEgg extends CreateRecord Forms\Components\Textarea::make('description')->columnSpanFull(), Forms\Components\TextInput::make('env_variable') ->label('Environment Variable') - ->maxLength(191) + ->maxLength(255) ->prefix('{{') ->suffix('}}') ->hintIcon('tabler-code') ->hintIconTooltip(fn ($state) => "{{{$state}}}") ->required(), - Forms\Components\TextInput::make('default_value')->maxLength(191), + Forms\Components\TextInput::make('default_value')->maxLength(255), Forms\Components\Fieldset::make('User Permissions') ->schema([ Forms\Components\Checkbox::make('user_viewable')->label('Viewable'), @@ -173,7 +173,7 @@ class CreateEgg extends CreateRecord Forms\Components\TextInput::make('script_container') ->required() - ->maxLength(191) + ->maxLength(255) ->default('alpine:3.4'), Forms\Components\Select::make('script_entry') diff --git a/app/Filament/Resources/EggResource/Pages/EditEgg.php b/app/Filament/Resources/EggResource/Pages/EditEgg.php index 9a51bdc78..9e87ec97b 100644 --- a/app/Filament/Resources/EggResource/Pages/EditEgg.php +++ b/app/Filament/Resources/EggResource/Pages/EditEgg.php @@ -25,7 +25,7 @@ class EditEgg extends EditRecord ->schema([ Forms\Components\TextInput::make('name') ->required() - ->maxLength(191) + ->maxLength(255) ->columnSpan(['default' => 1, 'sm' => 1, 'md' => 2, 'lg' => 1]) ->helperText('A simple, human-readable name to use as an identifier for this Egg.'), Forms\Components\TextInput::make('uuid') @@ -42,7 +42,7 @@ class EditEgg extends EditRecord ->helperText('A description of this Egg that will be displayed throughout the Panel as needed.'), Forms\Components\TextInput::make('author') ->required() - ->maxLength(191) + ->maxLength(255) ->email() ->disabled() ->columnSpan(['default' => 1, 'sm' => 1, 'md' => 2, 'lg' => 2]) @@ -95,7 +95,7 @@ class EditEgg extends EditRecord ->relationship('configFrom', 'name', ignoreRecord: true) ->helperText('If you would like to default to settings from another Egg select it from the menu above.'), Forms\Components\TextInput::make('config_stop') - ->maxLength(191) + ->maxLength(255) ->label('Stop Command') ->helperText('The command that should be sent to server processes to stop them gracefully. If you need to send a SIGINT you should enter ^C here.'), Forms\Components\Textarea::make('config_startup')->rows(10)->json() @@ -143,7 +143,7 @@ class EditEgg extends EditRecord Forms\Components\TextInput::make('name') ->live() ->debounce(750) - ->maxLength(191) + ->maxLength(255) ->columnSpanFull() ->afterStateUpdated(fn (Forms\Set $set, $state) => $set('env_variable', str($state)->trim()->snake()->upper()->toString()) ) @@ -151,13 +151,13 @@ class EditEgg extends EditRecord Forms\Components\Textarea::make('description')->columnSpanFull(), Forms\Components\TextInput::make('env_variable') ->label('Environment Variable') - ->maxLength(191) + ->maxLength(255) ->prefix('{{') ->suffix('}}') ->hintIcon('tabler-code') ->hintIconTooltip(fn ($state) => "{{{$state}}}") ->required(), - Forms\Components\TextInput::make('default_value')->maxLength(191), + Forms\Components\TextInput::make('default_value')->maxLength(255), Forms\Components\Fieldset::make('User Permissions') ->schema([ Forms\Components\Checkbox::make('user_viewable')->label('Viewable'), @@ -176,12 +176,12 @@ class EditEgg extends EditRecord Forms\Components\TextInput::make('script_container') ->required() - ->maxLength(191) + ->maxLength(255) ->default('alpine:3.4'), Forms\Components\TextInput::make('script_entry') ->required() - ->maxLength(191) + ->maxLength(255) ->default('ash'), MonacoEditor::make('script_install') diff --git a/app/Filament/Resources/MountResource/Pages/CreateMount.php b/app/Filament/Resources/MountResource/Pages/CreateMount.php index b6abba6fe..0aec8981f 100644 --- a/app/Filament/Resources/MountResource/Pages/CreateMount.php +++ b/app/Filament/Resources/MountResource/Pages/CreateMount.php @@ -48,11 +48,11 @@ class CreateMount extends CreateRecord Forms\Components\TextInput::make('source') ->required() ->helperText('File path on the host system to mount to a container.') - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('target') ->required() ->helperText('Where the mount will be accessible inside a container.') - ->maxLength(191), + ->maxLength(255), Forms\Components\ToggleButtons::make('user_mountable') ->hidden() ->label('User mountable?') diff --git a/app/Filament/Resources/MountResource/Pages/EditMount.php b/app/Filament/Resources/MountResource/Pages/EditMount.php index 15b3a5bdf..6e838ed32 100644 --- a/app/Filament/Resources/MountResource/Pages/EditMount.php +++ b/app/Filament/Resources/MountResource/Pages/EditMount.php @@ -45,11 +45,11 @@ class EditMount extends EditRecord Forms\Components\TextInput::make('source') ->required() ->helperText('File path on the host system to mount to a container.') - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('target') ->required() ->helperText('Where the mount will be accessible inside a container.') - ->maxLength(191), + ->maxLength(255), Forms\Components\ToggleButtons::make('user_mountable') ->hidden() ->label('User mountable?') diff --git a/app/Filament/Resources/NodeResource/Pages/CreateNode.php b/app/Filament/Resources/NodeResource/Pages/CreateNode.php index 0dbf4c2b4..23b192457 100644 --- a/app/Filament/Resources/NodeResource/Pages/CreateNode.php +++ b/app/Filament/Resources/NodeResource/Pages/CreateNode.php @@ -93,7 +93,7 @@ class CreateNode extends CreateRecord $set('dns', false); }) - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('ip') ->disabled() diff --git a/app/Filament/Resources/NodeResource/Pages/EditNode.php b/app/Filament/Resources/NodeResource/Pages/EditNode.php index dded9ffd2..f9286cf70 100644 --- a/app/Filament/Resources/NodeResource/Pages/EditNode.php +++ b/app/Filament/Resources/NodeResource/Pages/EditNode.php @@ -94,7 +94,7 @@ class EditNode extends EditRecord $set('dns', false); }) - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('ip') ->disabled() diff --git a/app/Filament/Resources/ServerResource/Pages/CreateServer.php b/app/Filament/Resources/ServerResource/Pages/CreateServer.php index 63ce48b32..d62a7d31e 100644 --- a/app/Filament/Resources/ServerResource/Pages/CreateServer.php +++ b/app/Filament/Resources/ServerResource/Pages/CreateServer.php @@ -64,7 +64,7 @@ class CreateServer extends CreateRecord 'lg' => 3, ]) ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\Select::make('owner_id') ->prefixIcon('tabler-user') @@ -403,7 +403,7 @@ class CreateServer extends CreateRecord $text = Forms\Components\TextInput::make('variable_value') ->hidden($this->shouldHideComponent(...)) - ->maxLength(191) + ->maxLength(255) ->required(fn (Forms\Get $get) => in_array('required', explode('|', $get('rules')))) ->rules( fn (Forms\Get $get): Closure => function (string $attribute, $value, Closure $fail) use ($get) { diff --git a/app/Filament/Resources/ServerResource/Pages/EditServer.php b/app/Filament/Resources/ServerResource/Pages/EditServer.php index eb345aa77..896d18bea 100644 --- a/app/Filament/Resources/ServerResource/Pages/EditServer.php +++ b/app/Filament/Resources/ServerResource/Pages/EditServer.php @@ -125,7 +125,7 @@ class EditServer extends EditRecord 'lg' => 3, ]) ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\Select::make('owner_id') ->prefixIcon('tabler-user') @@ -172,7 +172,7 @@ class EditServer extends EditRecord 'md' => 2, 'lg' => 3, ]) - ->maxLength(191), + ->maxLength(255), Forms\Components\Select::make('node_id') ->label('Node') ->relationship('node', 'name') diff --git a/app/Filament/Resources/UserResource/Pages/EditProfile.php b/app/Filament/Resources/UserResource/Pages/EditProfile.php index f59a5b56e..c8ce603a5 100644 --- a/app/Filament/Resources/UserResource/Pages/EditProfile.php +++ b/app/Filament/Resources/UserResource/Pages/EditProfile.php @@ -52,7 +52,7 @@ class EditProfile extends \Filament\Pages\Auth\EditProfile ->label(trans('strings.username')) ->disabled() ->readOnly() - ->maxLength(191) + ->maxLength(255) ->unique(ignoreRecord: true) ->autofocus(), @@ -61,7 +61,7 @@ class EditProfile extends \Filament\Pages\Auth\EditProfile ->label(trans('strings.email')) ->email() ->required() - ->maxLength(191) + ->maxLength(255) ->unique(ignoreRecord: true), TextInput::make('password') diff --git a/app/Filament/Resources/UserResource/Pages/EditUser.php b/app/Filament/Resources/UserResource/Pages/EditUser.php index 4750ce28f..6e6386405 100644 --- a/app/Filament/Resources/UserResource/Pages/EditUser.php +++ b/app/Filament/Resources/UserResource/Pages/EditUser.php @@ -20,8 +20,8 @@ class EditUser extends EditRecord return $form ->schema([ Section::make()->schema([ - Forms\Components\TextInput::make('username')->required()->maxLength(191), - Forms\Components\TextInput::make('email')->email()->required()->maxLength(191), + Forms\Components\TextInput::make('username')->required()->maxLength(255), + Forms\Components\TextInput::make('email')->email()->required()->maxLength(255), Forms\Components\TextInput::make('password') ->dehydrateStateUsing(fn (string $state): string => Hash::make($state)) diff --git a/app/Filament/Resources/UserResource/Pages/ListUsers.php b/app/Filament/Resources/UserResource/Pages/ListUsers.php index 363adb255..89d53de6b 100644 --- a/app/Filament/Resources/UserResource/Pages/ListUsers.php +++ b/app/Filament/Resources/UserResource/Pages/ListUsers.php @@ -85,12 +85,12 @@ class ListUsers extends ListRecords Forms\Components\TextInput::make('username') ->alphaNum() ->required() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('email') ->email() ->required() ->unique() - ->maxLength(191), + ->maxLength(255), Forms\Components\TextInput::make('password') ->hintIcon('tabler-question-mark') diff --git a/app/Http/Requests/Admin/Egg/EggFormRequest.php b/app/Http/Requests/Admin/Egg/EggFormRequest.php index 09f6e014b..d1af8a085 100644 --- a/app/Http/Requests/Admin/Egg/EggFormRequest.php +++ b/app/Http/Requests/Admin/Egg/EggFormRequest.php @@ -9,14 +9,14 @@ class EggFormRequest extends AdminFormRequest public function rules(): array { $rules = [ - 'name' => 'required|string|max:191', + 'name' => 'required|string|max:255', 'description' => 'nullable|string', 'docker_images' => 'required|string', 'force_outgoing_ip' => 'sometimes|boolean', 'file_denylist' => 'array', 'startup' => 'required|string', 'config_from' => 'sometimes|bail|nullable|numeric', - 'config_stop' => 'required_without:config_from|nullable|string|max:191', + 'config_stop' => 'required_without:config_from|nullable|string|max:255', 'config_startup' => 'required_without:config_from|nullable|json', 'config_logs' => 'required_without:config_from|nullable|json', 'config_files' => 'required_without:config_from|nullable|json', diff --git a/app/Http/Requests/Admin/Egg/EggVariableFormRequest.php b/app/Http/Requests/Admin/Egg/EggVariableFormRequest.php index 3177fae02..c6720aa2c 100644 --- a/app/Http/Requests/Admin/Egg/EggVariableFormRequest.php +++ b/app/Http/Requests/Admin/Egg/EggVariableFormRequest.php @@ -13,9 +13,9 @@ class EggVariableFormRequest extends AdminFormRequest public function rules(): array { return [ - 'name' => 'required|string|min:1|max:191', + 'name' => 'required|string|min:1|max:255', 'description' => 'sometimes|nullable|string', - 'env_variable' => 'required|regex:/^[\w]{1,191}$/|notIn:' . EggVariable::RESERVED_ENV_NAMES, + 'env_variable' => 'required|regex:/^[\w]{1,255}$/|notIn:' . EggVariable::RESERVED_ENV_NAMES, 'options' => 'sometimes|required|array', 'rules' => 'bail|required|string', 'default_value' => 'present', diff --git a/app/Http/Requests/Admin/Node/AllocationFormRequest.php b/app/Http/Requests/Admin/Node/AllocationFormRequest.php index 1bd39c405..720488e18 100644 --- a/app/Http/Requests/Admin/Node/AllocationFormRequest.php +++ b/app/Http/Requests/Admin/Node/AllocationFormRequest.php @@ -10,7 +10,7 @@ class AllocationFormRequest extends AdminFormRequest { return [ 'allocation_ip' => 'required|string', - 'allocation_alias' => 'sometimes|nullable|string|max:191', + 'allocation_alias' => 'sometimes|nullable|string|max:255', 'allocation_ports' => 'required|array', ]; } diff --git a/app/Http/Requests/Admin/Settings/AdvancedSettingsFormRequest.php b/app/Http/Requests/Admin/Settings/AdvancedSettingsFormRequest.php index 8530b9ce4..f02f60d01 100644 --- a/app/Http/Requests/Admin/Settings/AdvancedSettingsFormRequest.php +++ b/app/Http/Requests/Admin/Settings/AdvancedSettingsFormRequest.php @@ -13,8 +13,8 @@ class AdvancedSettingsFormRequest extends AdminFormRequest { return [ 'recaptcha:enabled' => 'required|in:true,false', - 'recaptcha:secret_key' => 'required|string|max:191', - 'recaptcha:website_key' => 'required|string|max:191', + 'recaptcha:secret_key' => 'required|string|max:255', + 'recaptcha:website_key' => 'required|string|max:255', 'panel:guzzle:timeout' => 'required|integer|between:1,60', 'panel:guzzle:connect_timeout' => 'required|integer|between:1,60', 'panel:client_features:allocations:enabled' => 'required|in:true,false', diff --git a/app/Http/Requests/Admin/Settings/BaseSettingsFormRequest.php b/app/Http/Requests/Admin/Settings/BaseSettingsFormRequest.php index 270e35d49..eb84e25cf 100644 --- a/app/Http/Requests/Admin/Settings/BaseSettingsFormRequest.php +++ b/app/Http/Requests/Admin/Settings/BaseSettingsFormRequest.php @@ -13,7 +13,7 @@ class BaseSettingsFormRequest extends AdminFormRequest public function rules(): array { return [ - 'app:name' => 'required|string|max:191', + 'app:name' => 'required|string|max:255', 'panel:auth:2fa_required' => 'required|integer|in:0,1,2', 'app:locale' => ['required', 'string', Rule::in(array_keys($this->getAvailableLanguages()))], ]; diff --git a/app/Http/Requests/Admin/Settings/MailSettingsFormRequest.php b/app/Http/Requests/Admin/Settings/MailSettingsFormRequest.php index da34a21c1..9e62869d8 100644 --- a/app/Http/Requests/Admin/Settings/MailSettingsFormRequest.php +++ b/app/Http/Requests/Admin/Settings/MailSettingsFormRequest.php @@ -16,10 +16,10 @@ class MailSettingsFormRequest extends AdminFormRequest 'mail:mailers:smtp:host' => 'required|string', 'mail:mailers:smtp:port' => 'required|integer|between:1,65535', 'mail:mailers:smtp:encryption' => ['present', Rule::in([null, 'tls', 'ssl'])], - 'mail:mailers:smtp:username' => 'nullable|string|max:191', - 'mail:mailers:smtp:password' => 'nullable|string|max:191', + 'mail:mailers:smtp:username' => 'nullable|string|max:255', + 'mail:mailers:smtp:password' => 'nullable|string|max:255', 'mail:from:address' => 'required|string|email', - 'mail:from:name' => 'nullable|string|max:191', + 'mail:from:name' => 'nullable|string|max:255', ]; } diff --git a/app/Http/Requests/Api/Application/Allocations/StoreAllocationRequest.php b/app/Http/Requests/Api/Application/Allocations/StoreAllocationRequest.php index a87e8cc69..397f72093 100644 --- a/app/Http/Requests/Api/Application/Allocations/StoreAllocationRequest.php +++ b/app/Http/Requests/Api/Application/Allocations/StoreAllocationRequest.php @@ -15,7 +15,7 @@ class StoreAllocationRequest extends ApplicationApiRequest { return [ 'ip' => 'required|string', - 'alias' => 'sometimes|nullable|string|max:191', + 'alias' => 'sometimes|nullable|string|max:255', 'ports' => 'required|array', 'ports.*' => 'string', ]; diff --git a/app/Http/Requests/Api/Client/Servers/Backups/StoreBackupRequest.php b/app/Http/Requests/Api/Client/Servers/Backups/StoreBackupRequest.php index 9840d963e..d028bd3e8 100644 --- a/app/Http/Requests/Api/Client/Servers/Backups/StoreBackupRequest.php +++ b/app/Http/Requests/Api/Client/Servers/Backups/StoreBackupRequest.php @@ -15,7 +15,7 @@ class StoreBackupRequest extends ClientApiRequest public function rules(): array { return [ - 'name' => 'nullable|string|max:191', + 'name' => 'nullable|string|max:255', 'is_locked' => 'nullable|boolean', 'ignored' => 'nullable|string', ]; diff --git a/app/Http/Requests/Api/Client/Servers/Subusers/StoreSubuserRequest.php b/app/Http/Requests/Api/Client/Servers/Subusers/StoreSubuserRequest.php index 14a1d6c2c..e04a95c54 100644 --- a/app/Http/Requests/Api/Client/Servers/Subusers/StoreSubuserRequest.php +++ b/app/Http/Requests/Api/Client/Servers/Subusers/StoreSubuserRequest.php @@ -14,7 +14,7 @@ class StoreSubuserRequest extends SubuserRequest public function rules(): array { return [ - 'email' => 'required|email|between:1,191', + 'email' => 'required|email|between:1,255', 'permissions' => 'required|array', 'permissions.*' => 'string', ]; diff --git a/app/Models/AuditLog.php b/app/Models/AuditLog.php index aa9d57d6a..d091773ea 100644 --- a/app/Models/AuditLog.php +++ b/app/Models/AuditLog.php @@ -16,8 +16,8 @@ class AuditLog extends Model public static array $validationRules = [ 'uuid' => 'required|uuid', - 'action' => 'required|string|max:191', - 'subaction' => 'nullable|string|max:191', + 'action' => 'required|string|max:255', + 'subaction' => 'nullable|string|max:255', 'device' => 'array', 'device.ip_address' => 'ip', 'device.user_agent' => 'string', diff --git a/app/Models/DatabaseHost.php b/app/Models/DatabaseHost.php index 159e17261..278cee9b4 100644 --- a/app/Models/DatabaseHost.php +++ b/app/Models/DatabaseHost.php @@ -46,7 +46,7 @@ class DatabaseHost extends Model * Validation rules to assign to this model. */ public static array $validationRules = [ - 'name' => 'required|string|max:191', + 'name' => 'required|string|max:255', 'host' => 'required|string', 'port' => 'required|numeric|between:1,65535', 'username' => 'required|string|max:32', diff --git a/app/Models/Egg.php b/app/Models/Egg.php index 3e194bae3..5586b4c1f 100644 --- a/app/Models/Egg.php +++ b/app/Models/Egg.php @@ -105,7 +105,7 @@ class Egg extends Model public static array $validationRules = [ 'uuid' => 'required|string|size:36', - 'name' => 'required|string|max:191', + 'name' => 'required|string|max:255', 'description' => 'string|nullable', 'features' => 'array|nullable', 'author' => 'required|string|email', @@ -115,7 +115,7 @@ class Egg extends Model 'docker_images.*' => 'required|string', 'startup' => 'required|nullable|string', 'config_from' => 'sometimes|bail|nullable|numeric|exists:eggs,id', - 'config_stop' => 'required_without:config_from|nullable|string|max:191', + 'config_stop' => 'required_without:config_from|nullable|string|max:255', 'config_startup' => 'required_without:config_from|nullable|json', 'config_logs' => 'required_without:config_from|nullable|json', 'config_files' => 'required_without:config_from|nullable|json', diff --git a/app/Models/EggVariable.php b/app/Models/EggVariable.php index 568830a5b..c589d9534 100644 --- a/app/Models/EggVariable.php +++ b/app/Models/EggVariable.php @@ -52,9 +52,9 @@ class EggVariable extends Model public static array $validationRules = [ 'egg_id' => 'exists:eggs,id', 'sort' => 'nullable', - 'name' => 'required|string|between:1,191', + 'name' => 'required|string|between:1,255', 'description' => 'string', - 'env_variable' => 'required|alphaDash|between:1,191|notIn:' . self::RESERVED_ENV_NAMES, + 'env_variable' => 'required|alphaDash|between:1,255|notIn:' . self::RESERVED_ENV_NAMES, 'default_value' => 'string', 'user_viewable' => 'boolean', 'user_editable' => 'boolean', diff --git a/app/Models/Mount.php b/app/Models/Mount.php index aa335b990..223603805 100644 --- a/app/Models/Mount.php +++ b/app/Models/Mount.php @@ -41,7 +41,7 @@ class Mount extends Model */ public static array $validationRules = [ 'name' => 'required|string|min:2|max:64|unique:mounts,name', - 'description' => 'nullable|string|max:191', + 'description' => 'nullable|string|max:255', 'source' => 'required|string', 'target' => 'required|string', 'read_only' => 'sometimes|boolean', diff --git a/app/Models/Schedule.php b/app/Models/Schedule.php index 7042d25a4..ae7b9baec 100644 --- a/app/Models/Schedule.php +++ b/app/Models/Schedule.php @@ -76,7 +76,7 @@ class Schedule extends Model public static array $validationRules = [ 'server_id' => 'required|exists:servers,id', - 'name' => 'required|string|max:191', + 'name' => 'required|string|max:255', 'cron_day_of_week' => 'required|string', 'cron_month' => 'required|string', 'cron_day_of_month' => 'required|string', diff --git a/app/Models/Server.php b/app/Models/Server.php index 5aca895dd..adb5ab98e 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -139,9 +139,9 @@ class Server extends Model protected $guarded = ['id', self::CREATED_AT, self::UPDATED_AT, 'deleted_at', 'installed_at']; public static array $validationRules = [ - 'external_id' => 'sometimes|nullable|string|between:1,191|unique:servers', + 'external_id' => 'sometimes|nullable|string|between:1,255|unique:servers', 'owner_id' => 'required|integer|exists:users,id', - 'name' => 'required|string|min:1|max:191', + 'name' => 'required|string|min:1|max:255', 'node_id' => 'required|exists:nodes,id', 'description' => 'string', 'status' => 'nullable|string', @@ -156,7 +156,7 @@ class Server extends Model 'egg_id' => 'required|exists:eggs,id', 'startup' => 'required|string', 'skip_scripts' => 'sometimes|boolean', - 'image' => 'required|string|max:191', + 'image' => 'required|string|max:255', 'database_limit' => 'present|nullable|integer|min:0', 'allocation_limit' => 'sometimes|nullable|integer|min:0', 'backup_limit' => 'present|nullable|integer|min:0', diff --git a/app/Models/Setting.php b/app/Models/Setting.php index 4d4087f7c..d25bd1b5d 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -21,7 +21,7 @@ class Setting extends Model protected $fillable = ['key', 'value']; public static array $validationRules = [ - 'key' => 'required|string|between:1,191', + 'key' => 'required|string|between:1,255', 'value' => 'string', ]; diff --git a/app/Models/User.php b/app/Models/User.php index ef9084d82..ebe905a6f 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -155,11 +155,11 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac */ public static array $validationRules = [ 'uuid' => 'nullable|string|size:36|unique:users,uuid', - 'email' => 'required|email|between:1,191|unique:users,email', - 'external_id' => 'sometimes|nullable|string|max:191|unique:users,external_id', - 'username' => 'required|between:1,191|unique:users,username', - 'name_first' => 'nullable|string|between:0,191', - 'name_last' => 'nullable|string|between:0,191', + 'email' => 'required|email|between:1,255|unique:users,email', + 'external_id' => 'sometimes|nullable|string|max:255|unique:users,external_id', + 'username' => 'required|between:1,255|unique:users,username', + 'name_first' => 'nullable|string|between:0,255', + 'name_last' => 'nullable|string|between:0,255', 'password' => 'sometimes|nullable|string', 'root_admin' => 'boolean', 'language' => 'string', diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index c2473e87d..7d5ba0c44 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -16,7 +16,6 @@ use Illuminate\Support\Facades\Broadcast; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Http; -use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; @@ -30,8 +29,6 @@ class AppServiceProvider extends ServiceProvider */ public function boot(): void { - Schema::defaultStringLength(191); - $versionData = app(SoftwareVersionService::class)->versionData(); View::share('appVersion', $versionData['version'] ?? 'undefined'); View::share('appIsGit', $versionData['is_git'] ?? false); diff --git a/database/migrations/2024_06_11_220722_update_field_length.php b/database/migrations/2024_06_11_220722_update_field_length.php new file mode 100644 index 000000000..ef6c9367a --- /dev/null +++ b/database/migrations/2024_06_11_220722_update_field_length.php @@ -0,0 +1,289 @@ +string('subject_type')->change(); + }); + + Schema::table('activity_logs', function (Blueprint $table) { + $table->string('event')->change(); + $table->string('ip')->change(); + $table->string('actor_type')->nullable()->default(null)->change(); + }); + + Schema::table('allocations', function (Blueprint $table) { + $table->string('ip')->change(); + $table->string('notes')->nullable()->default(null)->change(); + }); + + Schema::table('audit_logs', function (Blueprint $table) { + $table->string('action')->change(); + $table->string('subaction')->nullable()->default(null)->change(); + }); + + Schema::table('backups', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('disk')->change(); + $table->string('checksum')->nullable()->default(null)->change(); + }); + + Schema::table('database_hosts', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('host')->change(); + $table->string('username')->change(); + }); + + Schema::table('databases', function (Blueprint $table) { + $table->string('database')->change(); + $table->string('username')->change(); + $table->string('remote')->default('%')->change(); + }); + + Schema::table('egg_variables', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('env_variable')->change(); + }); + + Schema::table('eggs', function (Blueprint $table) { + $table->string('author')->change(); + $table->string('name')->change(); + $table->string('config_stop')->nullable()->default(null)->change(); + $table->string('script_container')->default('alpine:3.4')->change(); + $table->string('script_entry')->default('ash')->change(); + }); + + Schema::table('failed_jobs', function (Blueprint $table) { + $table->string('uuid')->nullable()->default(null)->change(); + }); + + Schema::table('jobs', function (Blueprint $table) { + $table->string('queue')->change(); + }); + + Schema::table('migrations', function (Blueprint $table) { + $table->string('migration')->change(); + }); + + Schema::table('mounts', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('source')->change(); + $table->string('target')->change(); + }); + + Schema::table('nodes', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('fqdn')->change(); + $table->string('scheme')->default('https')->change(); + $table->string('daemon_sftp_alias')->nullable()->default(null)->change(); + $table->string('daemon_base')->change(); + }); + + Schema::table('notifications', function (Blueprint $table) { + $table->string('id')->change(); + $table->string('type')->change(); + $table->string('notifiable_type')->change(); + }); + + Schema::table('password_resets', function (Blueprint $table) { + $table->string('email')->change(); + $table->string('token')->change(); + }); + + Schema::table('recovery_tokens', function (Blueprint $table) { + $table->string('token')->change(); + }); + + Schema::table('schedules', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('cron_day_of_week')->change(); + $table->string('cron_month')->change(); + $table->string('cron_day_of_month')->change(); + $table->string('cron_hour')->change(); + $table->string('cron_minute')->change(); + }); + + Schema::table('servers', function (Blueprint $table) { + $table->string('external_id')->nullable()->default(null)->change(); + $table->string('name')->change(); + $table->string('status')->nullable()->default(null)->change(); + $table->string('threads')->nullable()->default(null)->change(); + $table->string('image')->change(); + }); + + Schema::table('sessions', function (Blueprint $table) { + $table->string('id')->change(); + }); + + Schema::table('settings', function (Blueprint $table) { + $table->string('key')->change(); + }); + + Schema::table('tasks', function (Blueprint $table) { + $table->string('action')->change(); + }); + + Schema::table('user_ssh_keys', function (Blueprint $table) { + $table->string('name')->change(); + $table->string('fingerprint')->change(); + }); + + Schema::table('users', function (Blueprint $table) { + $table->string('external_id')->nullable()->default(null)->change(); + $table->string('username')->change(); + $table->string('email')->change(); + $table->string('name_first')->nullable()->default(null)->change(); + $table->string('name_last')->nullable()->default(null)->change(); + $table->string('remember_token')->nullable()->default(null)->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('activity_log_subjects', function (Blueprint $table) { + $table->string('subject_type', 191)->change(); + }); + + Schema::table('activity_logs', function (Blueprint $table) { + $table->string('event', 191)->change(); + $table->string('ip', 191)->change(); + $table->string('actor_type', 191)->nullable()->default(null)->change(); + }); + + Schema::table('allocations', function (Blueprint $table) { + $table->string('ip', 191)->change(); + $table->string('notes', 191)->nullable()->default(null)->change(); + }); + + Schema::table('audit_logs', function (Blueprint $table) { + $table->string('action', 191)->change(); + $table->string('subaction', 191)->nullable()->default(null)->change(); + }); + + Schema::table('backups', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('disk', 191)->change(); + $table->string('checksum', 191)->nullable()->default(null)->change(); + }); + Schema::table('database_hosts', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('host', 191)->change(); + $table->string('username', 191)->change(); + }); + + Schema::table('databases', function (Blueprint $table) { + $table->string('database', 191)->change(); + $table->string('username', 191)->change(); + $table->string('remote', 191)->default('%', 191)->change(); + }); + + Schema::table('egg_variables', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('env_variable', 191)->change(); + }); + + Schema::table('eggs', function (Blueprint $table) { + $table->string('author', 191)->change(); + $table->string('name', 191)->change(); + $table->string('config_stop', 191)->nullable()->default(null)->change(); + $table->string('script_container', 191)->default('alpine:3.4', 191)->change(); + $table->string('script_entry', 191)->default('ash', 191)->change(); + }); + + Schema::table('failed_jobs', function (Blueprint $table) { + $table->string('uuid', 191)->nullable()->default(null)->change(); + }); + + Schema::table('jobs', function (Blueprint $table) { + $table->string('queue', 191)->change(); + }); + + Schema::table('migrations', function (Blueprint $table) { + $table->string('migration', 191)->change(); + }); + + Schema::table('mounts', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('source', 191)->change(); + $table->string('target', 191)->change(); + }); + + Schema::table('nodes', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('fqdn', 191)->change(); + $table->string('scheme', 191)->default('https', 191)->change(); + $table->string('daemon_sftp_alias', 191)->nullable()->default(null)->change(); + $table->string('daemon_base', 191)->change(); + }); + + Schema::table('notifications', function (Blueprint $table) { + $table->string('id', 191)->change(); + $table->string('type', 191)->change(); + $table->string('notifiable_type', 191)->change(); + }); + + Schema::table('password_resets', function (Blueprint $table) { + $table->string('email', 191)->change(); + $table->string('token', 191)->change(); + }); + + Schema::table('recovery_tokens', function (Blueprint $table) { + $table->string('token', 191)->change(); + }); + + Schema::table('schedules', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('cron_day_of_week', 191)->change(); + $table->string('cron_month', 191)->change(); + $table->string('cron_day_of_month', 191)->change(); + $table->string('cron_hour', 191)->change(); + $table->string('cron_minute', 191)->change(); + }); + + Schema::table('servers', function (Blueprint $table) { + $table->string('external_id', 191)->nullable()->default(null)->change(); + $table->string('name', 191)->change(); + $table->string('status', 191)->nullable()->default(null)->change(); + $table->string('threads', 191)->nullable()->default(null)->change(); + $table->string('image', 191)->change(); + }); + + Schema::table('sessions', function (Blueprint $table) { + $table->string('id', 191)->change(); + }); + + Schema::table('settings', function (Blueprint $table) { + $table->string('key', 191)->change(); + }); + + Schema::table('tasks', function (Blueprint $table) { + $table->string('action', 191)->change(); + }); + + Schema::table('user_ssh_keys', function (Blueprint $table) { + $table->string('name', 191)->change(); + $table->string('fingerprint', 191)->change(); + }); + + Schema::table('users', function (Blueprint $table) { + $table->string('external_id', 191)->nullable()->default(null)->change(); + $table->string('username', 191)->change(); + $table->string('email', 191)->change(); + $table->string('name_first', 191)->nullable()->default(null)->change(); + $table->string('name_last', 191)->nullable()->default(null)->change(); + $table->string('remember_token', 191)->nullable()->default(null)->change(); + }); + } +}; diff --git a/database/schema/mysql-schema.sql b/database/schema/mysql-schema.sql index 2d7e5ff8d..79d454839 100644 --- a/database/schema/mysql-schema.sql +++ b/database/schema/mysql-schema.sql @@ -8,637 +8,640 @@ DROP TABLE IF EXISTS `activity_log_subjects`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `activity_log_subjects` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `activity_log_id` bigint unsigned NOT NULL, - `subject_type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `subject_id` bigint unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `activity_log_subjects_activity_log_id_foreign` (`activity_log_id`), - KEY `activity_log_subjects_subject_type_subject_id_index` (`subject_type`,`subject_id`), - CONSTRAINT `activity_log_subjects_activity_log_id_foreign` FOREIGN KEY (`activity_log_id`) REFERENCES `activity_logs` (`id`) ON DELETE CASCADE + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `activity_log_id` bigint unsigned NOT NULL, + `subject_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `subject_id` bigint unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `activity_log_subjects_activity_log_id_foreign` (`activity_log_id`), + KEY `activity_log_subjects_subject_type_subject_id_index` (`subject_type`,`subject_id`), + CONSTRAINT `activity_log_subjects_activity_log_id_foreign` FOREIGN KEY (`activity_log_id`) REFERENCES `activity_logs` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `activity_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `activity_logs` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `batch` char(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `event` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `ip` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text COLLATE utf8mb4_unicode_ci, - `actor_type` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `actor_id` bigint unsigned DEFAULT NULL, - `api_key_id` int unsigned DEFAULT NULL, - `properties` json NOT NULL, - `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `activity_logs_actor_type_actor_id_index` (`actor_type`,`actor_id`), - KEY `activity_logs_event_index` (`event`) + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `batch` char(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `event` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `ip` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci, + `actor_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `actor_id` bigint unsigned DEFAULT NULL, + `api_key_id` int unsigned DEFAULT NULL, + `properties` json NOT NULL, + `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `activity_logs_actor_type_actor_id_index` (`actor_type`,`actor_id`), + KEY `activity_logs_event_index` (`event`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `allocations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `allocations` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `node_id` int unsigned NOT NULL, - `ip` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `ip_alias` text COLLATE utf8mb4_unicode_ci, - `port` mediumint unsigned NOT NULL, - `server_id` int unsigned DEFAULT NULL, - `notes` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `allocations_node_id_ip_port_unique` (`node_id`,`ip`,`port`), - KEY `allocations_server_id_foreign` (`server_id`), - CONSTRAINT `allocations_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE, - CONSTRAINT `allocations_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE SET NULL + `id` int unsigned NOT NULL AUTO_INCREMENT, + `node_id` int unsigned NOT NULL, + `ip` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `ip_alias` text COLLATE utf8mb4_unicode_ci, + `port` mediumint unsigned NOT NULL, + `server_id` int unsigned DEFAULT NULL, + `notes` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `allocations_node_id_ip_port_unique` (`node_id`,`ip`,`port`), + KEY `allocations_server_id_foreign` (`server_id`), + CONSTRAINT `allocations_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE, + CONSTRAINT `allocations_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `api_keys`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `api_keys` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `user_id` int unsigned NOT NULL, - `key_type` tinyint unsigned NOT NULL DEFAULT '0', - `identifier` char(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `token` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `allowed_ips` text COLLATE utf8mb4_unicode_ci, - `memo` text COLLATE utf8mb4_unicode_ci, - `last_used_at` timestamp NULL DEFAULT NULL, - `expires_at` timestamp NULL DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `r_servers` tinyint unsigned NOT NULL DEFAULT '0', - `r_nodes` tinyint unsigned NOT NULL DEFAULT '0', - `r_allocations` tinyint unsigned NOT NULL DEFAULT '0', - `r_users` tinyint unsigned NOT NULL DEFAULT '0', - `r_eggs` tinyint unsigned NOT NULL DEFAULT '0', - `r_database_hosts` tinyint unsigned NOT NULL DEFAULT '0', - `r_server_databases` tinyint unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - UNIQUE KEY `api_keys_identifier_unique` (`identifier`), - KEY `api_keys_user_id_foreign` (`user_id`), - CONSTRAINT `api_keys_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` int unsigned NOT NULL, + `key_type` tinyint unsigned NOT NULL DEFAULT '0', + `identifier` char(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `public` char(16) COLLATE utf8mb4_unicode_ci NOT NULL, + `token` text COLLATE utf8mb4_unicode_ci NOT NULL, + `allowed_ips` text COLLATE utf8mb4_unicode_ci, + `memo` text COLLATE utf8mb4_unicode_ci, + `last_used_at` timestamp NULL DEFAULT NULL, + `expires_at` timestamp NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `r_servers` tinyint unsigned NOT NULL DEFAULT '0', + `r_nodes` tinyint unsigned NOT NULL DEFAULT '0', + `r_allocations` tinyint unsigned NOT NULL DEFAULT '0', + `r_users` tinyint unsigned NOT NULL DEFAULT '0', + `r_eggs` tinyint unsigned NOT NULL DEFAULT '0', + `r_database_hosts` tinyint unsigned NOT NULL DEFAULT '0', + `r_server_databases` tinyint unsigned NOT NULL DEFAULT '0', + `r_mounts` tinyint unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `api_keys_identifier_unique` (`identifier`), + KEY `api_keys_user_id_foreign` (`user_id`), + CONSTRAINT `api_keys_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `api_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `api_logs` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `authorized` tinyint(1) NOT NULL, - `error` text COLLATE utf8mb4_unicode_ci, - `key` char(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `method` char(6) COLLATE utf8mb4_unicode_ci NOT NULL, - `route` text COLLATE utf8mb4_unicode_ci NOT NULL, - `content` text COLLATE utf8mb4_unicode_ci, - `user_agent` text COLLATE utf8mb4_unicode_ci NOT NULL, - `request_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `authorized` tinyint(1) NOT NULL, + `error` text COLLATE utf8mb4_unicode_ci, + `key` char(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `method` char(6) COLLATE utf8mb4_unicode_ci NOT NULL, + `route` text COLLATE utf8mb4_unicode_ci NOT NULL, + `content` text COLLATE utf8mb4_unicode_ci, + `user_agent` text COLLATE utf8mb4_unicode_ci NOT NULL, + `request_ip` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `audit_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `audit_logs` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `is_system` tinyint(1) NOT NULL DEFAULT '0', - `user_id` int unsigned DEFAULT NULL, - `server_id` int unsigned DEFAULT NULL, - `action` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `subaction` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `device` json NOT NULL, - `metadata` json NOT NULL, - `created_at` timestamp NOT NULL, - PRIMARY KEY (`id`), - KEY `audit_logs_user_id_foreign` (`user_id`), - KEY `audit_logs_server_id_foreign` (`server_id`), - KEY `audit_logs_action_server_id_index` (`action`,`server_id`), - CONSTRAINT `audit_logs_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, - CONSTRAINT `audit_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `is_system` tinyint(1) NOT NULL DEFAULT '0', + `user_id` int unsigned DEFAULT NULL, + `server_id` int unsigned DEFAULT NULL, + `action` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `subaction` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `device` json NOT NULL, + `metadata` json NOT NULL, + `created_at` timestamp NOT NULL, + PRIMARY KEY (`id`), + KEY `audit_logs_user_id_foreign` (`user_id`), + KEY `audit_logs_server_id_foreign` (`server_id`), + KEY `audit_logs_action_server_id_index` (`action`,`server_id`), + CONSTRAINT `audit_logs_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, + CONSTRAINT `audit_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `backups`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `backups` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `server_id` int unsigned NOT NULL, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `upload_id` text COLLATE utf8mb4_unicode_ci, - `is_successful` tinyint(1) NOT NULL DEFAULT '0', - `is_locked` tinyint unsigned NOT NULL DEFAULT '0', - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `ignored_files` text COLLATE utf8mb4_unicode_ci NOT NULL, - `disk` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `checksum` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `bytes` bigint unsigned NOT NULL DEFAULT '0', - `completed_at` timestamp NULL DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `backups_uuid_unique` (`uuid`), - KEY `backups_server_id_foreign` (`server_id`), - CONSTRAINT `backups_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `server_id` int unsigned NOT NULL, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `is_successful` tinyint(1) NOT NULL DEFAULT '0', + `upload_id` text COLLATE utf8mb4_unicode_ci, + `is_locked` tinyint unsigned NOT NULL DEFAULT '0', + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `ignored_files` text COLLATE utf8mb4_unicode_ci NOT NULL, + `disk` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `checksum` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `bytes` bigint unsigned NOT NULL DEFAULT '0', + `completed_at` timestamp NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `backups_uuid_unique` (`uuid`), + KEY `backups_server_id_foreign` (`server_id`), + CONSTRAINT `backups_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `database_hosts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `database_hosts` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `host` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `port` int unsigned NOT NULL, - `username` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `password` text COLLATE utf8mb4_unicode_ci NOT NULL, - `max_databases` int unsigned DEFAULT NULL, - `node_id` int unsigned DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `database_hosts_node_id_foreign` (`node_id`), - CONSTRAINT `database_hosts_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE SET NULL + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `host` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `port` int unsigned NOT NULL, + `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `password` text COLLATE utf8mb4_unicode_ci NOT NULL, + `max_databases` int unsigned DEFAULT NULL, + `node_id` int unsigned DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `database_hosts_node_id_foreign` (`node_id`), + CONSTRAINT `database_hosts_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `databases`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `databases` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `server_id` int unsigned NOT NULL, - `database_host_id` int unsigned NOT NULL, - `database` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `username` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `remote` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '%', - `password` text COLLATE utf8mb4_unicode_ci NOT NULL, - `max_connections` int DEFAULT '0', - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `databases_database_host_id_username_unique` (`database_host_id`,`username`), - UNIQUE KEY `databases_database_host_id_server_id_database_unique` (`database_host_id`,`server_id`,`database`), - KEY `databases_server_id_foreign` (`server_id`), - CONSTRAINT `databases_database_host_id_foreign` FOREIGN KEY (`database_host_id`) REFERENCES `database_hosts` (`id`), - CONSTRAINT `databases_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `server_id` int unsigned NOT NULL, + `database_host_id` int unsigned NOT NULL, + `database` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `remote` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '%', + `password` text COLLATE utf8mb4_unicode_ci NOT NULL, + `max_connections` int DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `databases_database_host_id_username_unique` (`database_host_id`,`username`), + UNIQUE KEY `databases_database_host_id_server_id_database_unique` (`database_host_id`,`server_id`,`database`), + KEY `databases_server_id_foreign` (`server_id`), + CONSTRAINT `databases_database_host_id_foreign` FOREIGN KEY (`database_host_id`) REFERENCES `database_hosts` (`id`), + CONSTRAINT `databases_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `egg_mount`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `egg_mount` ( - `egg_id` int unsigned NOT NULL, - `mount_id` int unsigned NOT NULL, - UNIQUE KEY `egg_mount_egg_id_mount_id_unique` (`egg_id`,`mount_id`), - KEY `egg_mount_mount_id_foreign` (`mount_id`), - CONSTRAINT `egg_mount_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `egg_mount_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + `egg_id` int unsigned NOT NULL, + `mount_id` int unsigned NOT NULL, + UNIQUE KEY `egg_mount_egg_id_mount_id_unique` (`egg_id`,`mount_id`), + KEY `egg_mount_mount_id_foreign` (`mount_id`), + CONSTRAINT `egg_mount_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `egg_mount_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `egg_variables`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `egg_variables` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `egg_id` int unsigned NOT NULL, - `sort` tinyint unsigned DEFAULT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text COLLATE utf8mb4_unicode_ci NOT NULL, - `env_variable` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `default_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `user_viewable` tinyint unsigned NOT NULL, - `user_editable` tinyint unsigned NOT NULL, - `rules` text COLLATE utf8mb4_unicode_ci, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `service_variables_egg_id_foreign` (`egg_id`), - CONSTRAINT `service_variables_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `egg_id` int unsigned NOT NULL, + `sort` tinyint unsigned DEFAULT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `env_variable` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `default_value` text COLLATE utf8mb4_unicode_ci NOT NULL, + `user_viewable` tinyint unsigned NOT NULL, + `user_editable` tinyint unsigned NOT NULL, + `rules` text COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `service_variables_egg_id_foreign` (`egg_id`), + CONSTRAINT `service_variables_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `eggs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `eggs` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `author` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - `features` json DEFAULT NULL, - `docker_images` json DEFAULT NULL, - `file_denylist` json DEFAULT NULL, - `update_url` text COLLATE utf8mb4_unicode_ci, - `config_files` text COLLATE utf8mb4_unicode_ci, - `config_startup` text COLLATE utf8mb4_unicode_ci, - `config_logs` text COLLATE utf8mb4_unicode_ci, - `config_stop` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `config_from` int unsigned DEFAULT NULL, - `startup` text COLLATE utf8mb4_unicode_ci, - `script_container` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'alpine:3.4', - `copy_script_from` int unsigned DEFAULT NULL, - `script_entry` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ash', - `script_is_privileged` tinyint(1) NOT NULL DEFAULT '1', - `script_install` text COLLATE utf8mb4_unicode_ci, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `force_outgoing_ip` tinyint(1) NOT NULL DEFAULT '0', - `tags` text COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `service_options_uuid_unique` (`uuid`), - KEY `eggs_config_from_foreign` (`config_from`), - KEY `eggs_copy_script_from_foreign` (`copy_script_from`), - CONSTRAINT `eggs_config_from_foreign` FOREIGN KEY (`config_from`) REFERENCES `eggs` (`id`) ON DELETE SET NULL, - CONSTRAINT `eggs_copy_script_from_foreign` FOREIGN KEY (`copy_script_from`) REFERENCES `eggs` (`id`) ON DELETE SET NULL + `id` int unsigned NOT NULL AUTO_INCREMENT, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `author` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci, + `features` json DEFAULT NULL, + `docker_images` json DEFAULT NULL, + `file_denylist` json DEFAULT NULL, + `update_url` text COLLATE utf8mb4_unicode_ci, + `config_files` text COLLATE utf8mb4_unicode_ci, + `config_startup` text COLLATE utf8mb4_unicode_ci, + `config_logs` text COLLATE utf8mb4_unicode_ci, + `config_stop` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `config_from` int unsigned DEFAULT NULL, + `startup` text COLLATE utf8mb4_unicode_ci, + `script_container` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'alpine:3.4', + `copy_script_from` int unsigned DEFAULT NULL, + `script_entry` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ash', + `script_is_privileged` tinyint(1) NOT NULL DEFAULT '1', + `script_install` text COLLATE utf8mb4_unicode_ci, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `force_outgoing_ip` tinyint(1) NOT NULL DEFAULT '0', + `tags` text COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `service_options_uuid_unique` (`uuid`), + KEY `eggs_config_from_foreign` (`config_from`), + KEY `eggs_copy_script_from_foreign` (`copy_script_from`), + CONSTRAINT `eggs_config_from_foreign` FOREIGN KEY (`config_from`) REFERENCES `eggs` (`id`) ON DELETE SET NULL, + CONSTRAINT `eggs_copy_script_from_foreign` FOREIGN KEY (`copy_script_from`) REFERENCES `eggs` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `failed_jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `failed_jobs` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `uuid` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `connection` text COLLATE utf8mb4_unicode_ci NOT NULL, - `queue` text COLLATE utf8mb4_unicode_ci NOT NULL, - `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `failed_at` timestamp NOT NULL, - `exception` text COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `uuid` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `connection` text COLLATE utf8mb4_unicode_ci NOT NULL, + `queue` text COLLATE utf8mb4_unicode_ci NOT NULL, + `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `failed_at` timestamp NOT NULL, + `exception` text COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `jobs` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `queue` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, - `attempts` tinyint unsigned NOT NULL, - `reserved_at` int unsigned DEFAULT NULL, - `available_at` int unsigned NOT NULL, - `created_at` int unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `jobs_queue_reserved_at_index` (`queue`,`reserved_at`) + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `attempts` tinyint unsigned NOT NULL, + `reserved_at` int unsigned DEFAULT NULL, + `available_at` int unsigned NOT NULL, + `created_at` int unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `jobs_queue_reserved_at_index` (`queue`,`reserved_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `migrations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `migrations` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `migration` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `batch` int NOT NULL, - PRIMARY KEY (`id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `batch` int NOT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `mount_node`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `mount_node` ( - `node_id` int unsigned NOT NULL, - `mount_id` int unsigned NOT NULL, - UNIQUE KEY `mount_node_node_id_mount_id_unique` (`node_id`,`mount_id`), - KEY `mount_node_mount_id_foreign` (`mount_id`), - CONSTRAINT `mount_node_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `mount_node_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + `node_id` int unsigned NOT NULL, + `mount_id` int unsigned NOT NULL, + UNIQUE KEY `mount_node_node_id_mount_id_unique` (`node_id`,`mount_id`), + KEY `mount_node_mount_id_foreign` (`mount_id`), + CONSTRAINT `mount_node_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `mount_node_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `mount_server`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `mount_server` ( - `server_id` int unsigned NOT NULL, - `mount_id` int unsigned NOT NULL, - UNIQUE KEY `mount_server_server_id_mount_id_unique` (`server_id`,`mount_id`), - KEY `mount_server_mount_id_foreign` (`mount_id`), - CONSTRAINT `mount_server_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `mount_server_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + `server_id` int unsigned NOT NULL, + `mount_id` int unsigned NOT NULL, + UNIQUE KEY `mount_server_server_id_mount_id_unique` (`server_id`,`mount_id`), + KEY `mount_server_mount_id_foreign` (`mount_id`), + CONSTRAINT `mount_server_mount_id_foreign` FOREIGN KEY (`mount_id`) REFERENCES `mounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `mount_server_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `mounts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `mounts` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text COLLATE utf8mb4_unicode_ci, - `source` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `target` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `read_only` tinyint unsigned NOT NULL, - `user_mountable` tinyint unsigned NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `mounts_id_unique` (`id`), - UNIQUE KEY `mounts_uuid_unique` (`uuid`), - UNIQUE KEY `mounts_name_unique` (`name`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci, + `source` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `target` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `read_only` tinyint unsigned NOT NULL, + `user_mountable` tinyint unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `mounts_id_unique` (`id`), + UNIQUE KEY `mounts_uuid_unique` (`uuid`), + UNIQUE KEY `mounts_name_unique` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `nodes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `nodes` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `public` smallint unsigned NOT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - `fqdn` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `scheme` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'https', - `behind_proxy` tinyint(1) NOT NULL DEFAULT '0', - `maintenance_mode` tinyint(1) NOT NULL DEFAULT '0', - `memory` int unsigned NOT NULL, - `memory_overallocate` int NOT NULL DEFAULT '0', - `disk` int unsigned NOT NULL, - `disk_overallocate` int NOT NULL DEFAULT '0', - `cpu` int unsigned NOT NULL DEFAULT '0', - `cpu_overallocate` int NOT NULL DEFAULT '0', - `upload_size` int unsigned NOT NULL DEFAULT '100', - `daemon_token_id` char(16) COLLATE utf8mb4_unicode_ci NOT NULL, - `daemon_token` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `daemon_listen` smallint unsigned NOT NULL DEFAULT '8080', - `daemon_sftp` smallint unsigned NOT NULL DEFAULT '2022', - `daemon_base` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `tags` text COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `nodes_uuid_unique` (`uuid`), - UNIQUE KEY `nodes_daemon_token_id_unique` (`daemon_token_id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `public` smallint unsigned NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci, + `fqdn` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `scheme` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'https', + `behind_proxy` tinyint(1) NOT NULL DEFAULT '0', + `maintenance_mode` tinyint(1) NOT NULL DEFAULT '0', + `memory` int unsigned NOT NULL, + `memory_overallocate` int NOT NULL DEFAULT '0', + `disk` int unsigned NOT NULL, + `disk_overallocate` int NOT NULL DEFAULT '0', + `cpu` int unsigned NOT NULL DEFAULT '0', + `cpu_overallocate` int NOT NULL DEFAULT '0', + `upload_size` int unsigned NOT NULL DEFAULT '100', + `daemon_token_id` char(16) COLLATE utf8mb4_unicode_ci NOT NULL, + `daemon_token` text COLLATE utf8mb4_unicode_ci NOT NULL, + `daemon_listen` smallint unsigned NOT NULL DEFAULT '8080', + `daemon_sftp` smallint unsigned NOT NULL DEFAULT '2022', + `daemon_sftp_alias` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `daemon_base` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `tags` text COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `nodes_uuid_unique` (`uuid`), + UNIQUE KEY `nodes_daemon_token_id_unique` (`daemon_token_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `notifications`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `notifications` ( - `id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `notifiable_type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `notifiable_id` bigint unsigned NOT NULL, - `data` text COLLATE utf8mb4_unicode_ci NOT NULL, - `read_at` timestamp NULL DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`) + `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `notifiable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `notifiable_id` bigint unsigned NOT NULL, + `data` text COLLATE utf8mb4_unicode_ci NOT NULL, + `read_at` timestamp NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `password_resets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `password_resets` ( - `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `token` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NOT NULL, - KEY `password_resets_email_index` (`email`), - KEY `password_resets_token_index` (`token`) + `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NOT NULL, + KEY `password_resets_email_index` (`email`), + KEY `password_resets_token_index` (`token`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `recovery_tokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `recovery_tokens` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT, - `user_id` int unsigned NOT NULL, - `token` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `recovery_tokens_user_id_foreign` (`user_id`), - CONSTRAINT `recovery_tokens_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `user_id` int unsigned NOT NULL, + `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `recovery_tokens_user_id_foreign` (`user_id`), + CONSTRAINT `recovery_tokens_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `schedules`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `schedules` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `server_id` int unsigned NOT NULL, - `name` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `cron_day_of_week` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `cron_month` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `cron_day_of_month` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `cron_hour` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `cron_minute` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `is_active` tinyint(1) NOT NULL, - `is_processing` tinyint(1) NOT NULL, - `only_when_online` tinyint unsigned NOT NULL DEFAULT '0', - `last_run_at` timestamp NULL DEFAULT NULL, - `next_run_at` timestamp NULL DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `schedules_server_id_foreign` (`server_id`), - CONSTRAINT `schedules_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `server_id` int unsigned NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `cron_day_of_week` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `cron_month` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `cron_day_of_month` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `cron_hour` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `cron_minute` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `is_active` tinyint(1) NOT NULL, + `is_processing` tinyint(1) NOT NULL, + `only_when_online` tinyint unsigned NOT NULL DEFAULT '0', + `last_run_at` timestamp NULL DEFAULT NULL, + `next_run_at` timestamp NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `schedules_server_id_foreign` (`server_id`), + CONSTRAINT `schedules_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `server_transfers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `server_transfers` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `server_id` int unsigned NOT NULL, - `successful` tinyint(1) DEFAULT NULL, - `old_node` int unsigned NOT NULL, - `new_node` int unsigned NOT NULL, - `old_allocation` int unsigned NOT NULL, - `new_allocation` int unsigned NOT NULL, - `old_additional_allocations` json DEFAULT NULL, - `new_additional_allocations` json DEFAULT NULL, - `archived` tinyint(1) NOT NULL DEFAULT '0', - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `server_transfers_server_id_foreign` (`server_id`), - CONSTRAINT `server_transfers_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `server_id` int unsigned NOT NULL, + `successful` tinyint(1) DEFAULT NULL, + `old_node` int unsigned NOT NULL, + `new_node` int unsigned NOT NULL, + `old_allocation` int unsigned NOT NULL, + `new_allocation` int unsigned NOT NULL, + `old_additional_allocations` json DEFAULT NULL, + `new_additional_allocations` json DEFAULT NULL, + `archived` tinyint(1) NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `server_transfers_server_id_foreign` (`server_id`), + CONSTRAINT `server_transfers_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `server_variables`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `server_variables` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `server_id` int unsigned DEFAULT NULL, - `variable_id` int unsigned NOT NULL, - `variable_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `server_variables_server_id_foreign` (`server_id`), - KEY `server_variables_variable_id_foreign` (`variable_id`), - CONSTRAINT `server_variables_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, - CONSTRAINT `server_variables_variable_id_foreign` FOREIGN KEY (`variable_id`) REFERENCES `egg_variables` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `server_id` int unsigned NOT NULL, + `variable_id` int unsigned NOT NULL, + `variable_value` text COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `server_variables_server_id_foreign` (`server_id`), + KEY `server_variables_variable_id_foreign` (`variable_id`), + CONSTRAINT `server_variables_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, + CONSTRAINT `server_variables_variable_id_foreign` FOREIGN KEY (`variable_id`) REFERENCES `egg_variables` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `servers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `servers` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `external_id` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `uuid_short` char(8) COLLATE utf8mb4_unicode_ci NOT NULL, - `node_id` int unsigned NOT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` text COLLATE utf8mb4_unicode_ci NOT NULL, - `status` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `skip_scripts` tinyint(1) NOT NULL DEFAULT '0', - `owner_id` int unsigned NOT NULL, - `memory` int unsigned NOT NULL, - `swap` int NOT NULL, - `disk` int unsigned NOT NULL, - `io` int unsigned NOT NULL, - `cpu` int unsigned NOT NULL, - `threads` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `oom_killer` tinyint unsigned NOT NULL DEFAULT '0', - `allocation_id` int unsigned NOT NULL, - `egg_id` int unsigned NOT NULL, - `startup` text COLLATE utf8mb4_unicode_ci NOT NULL, - `image` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `allocation_limit` int unsigned DEFAULT NULL, - `database_limit` int unsigned DEFAULT '0', - `backup_limit` int unsigned NOT NULL DEFAULT '0', - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `installed_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `servers_uuid_unique` (`uuid`), - UNIQUE KEY `servers_uuidshort_unique` (`uuid_short`), - UNIQUE KEY `servers_allocation_id_unique` (`allocation_id`), - UNIQUE KEY `servers_external_id_unique` (`external_id`), - KEY `servers_node_id_foreign` (`node_id`), - KEY `servers_owner_id_foreign` (`owner_id`), - KEY `servers_egg_id_foreign` (`egg_id`), - CONSTRAINT `servers_allocation_id_foreign` FOREIGN KEY (`allocation_id`) REFERENCES `allocations` (`id`), - CONSTRAINT `servers_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`), - CONSTRAINT `servers_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`), - CONSTRAINT `servers_owner_id_foreign` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `external_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `uuid_short` char(8) COLLATE utf8mb4_unicode_ci NOT NULL, + `node_id` int unsigned NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `status` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `skip_scripts` tinyint(1) NOT NULL DEFAULT '0', + `owner_id` int unsigned NOT NULL, + `memory` int unsigned NOT NULL, + `swap` int NOT NULL, + `disk` int unsigned NOT NULL, + `io` int unsigned NOT NULL, + `cpu` int unsigned NOT NULL, + `threads` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `oom_killer` tinyint unsigned NOT NULL DEFAULT '0', + `allocation_id` int unsigned NOT NULL, + `egg_id` int unsigned NOT NULL, + `startup` text COLLATE utf8mb4_unicode_ci NOT NULL, + `image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `allocation_limit` int unsigned DEFAULT NULL, + `database_limit` int unsigned DEFAULT '0', + `backup_limit` int unsigned NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `installed_at` timestamp NULL DEFAULT NULL, + `docker_labels` text COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (`id`), + UNIQUE KEY `servers_uuid_unique` (`uuid`), + UNIQUE KEY `servers_uuidshort_unique` (`uuid_short`), + UNIQUE KEY `servers_allocation_id_unique` (`allocation_id`), + UNIQUE KEY `servers_external_id_unique` (`external_id`), + KEY `servers_node_id_foreign` (`node_id`), + KEY `servers_owner_id_foreign` (`owner_id`), + KEY `servers_egg_id_foreign` (`egg_id`), + CONSTRAINT `servers_allocation_id_foreign` FOREIGN KEY (`allocation_id`) REFERENCES `allocations` (`id`), + CONSTRAINT `servers_egg_id_foreign` FOREIGN KEY (`egg_id`) REFERENCES `eggs` (`id`), + CONSTRAINT `servers_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`), + CONSTRAINT `servers_owner_id_foreign` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `sessions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `sessions` ( - `id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `user_id` int DEFAULT NULL, - `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `user_agent` text COLLATE utf8mb4_unicode_ci, - `payload` text COLLATE utf8mb4_unicode_ci NOT NULL, - `last_activity` int NOT NULL, - UNIQUE KEY `sessions_id_unique` (`id`) + `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `user_id` int DEFAULT NULL, + `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_agent` text COLLATE utf8mb4_unicode_ci, + `payload` text COLLATE utf8mb4_unicode_ci NOT NULL, + `last_activity` int NOT NULL, + UNIQUE KEY `sessions_id_unique` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `settings` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `value` text COLLATE utf8mb4_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `settings_key_unique` (`key`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `value` text COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `subusers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `subusers` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `user_id` int unsigned NOT NULL, - `server_id` int unsigned NOT NULL, - `permissions` json DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `subusers_user_id_foreign` (`user_id`), - KEY `subusers_server_id_foreign` (`server_id`), - CONSTRAINT `subusers_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, - CONSTRAINT `subusers_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` int unsigned NOT NULL, + `server_id` int unsigned NOT NULL, + `permissions` json DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `subusers_user_id_foreign` (`user_id`), + KEY `subusers_server_id_foreign` (`server_id`), + CONSTRAINT `subusers_server_id_foreign` FOREIGN KEY (`server_id`) REFERENCES `servers` (`id`) ON DELETE CASCADE, + CONSTRAINT `subusers_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `tasks`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `tasks` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `schedule_id` int unsigned NOT NULL, - `sequence_id` int unsigned NOT NULL, - `action` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `payload` text COLLATE utf8mb4_unicode_ci NOT NULL, - `time_offset` int unsigned NOT NULL, - `is_queued` tinyint(1) NOT NULL, - `continue_on_failure` tinyint unsigned NOT NULL DEFAULT '0', - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `tasks_schedule_id_sequence_id_index` (`schedule_id`,`sequence_id`), - CONSTRAINT `tasks_schedule_id_foreign` FOREIGN KEY (`schedule_id`) REFERENCES `schedules` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `schedule_id` int unsigned NOT NULL, + `sequence_id` int unsigned NOT NULL, + `action` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `payload` text COLLATE utf8mb4_unicode_ci NOT NULL, + `time_offset` int unsigned NOT NULL, + `is_queued` tinyint(1) NOT NULL, + `continue_on_failure` tinyint unsigned NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tasks_schedule_id_sequence_id_index` (`schedule_id`,`sequence_id`), + CONSTRAINT `tasks_schedule_id_foreign` FOREIGN KEY (`schedule_id`) REFERENCES `schedules` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `tasks_log`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `tasks_log` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `task_id` int unsigned NOT NULL, - `run_time` timestamp NOT NULL, - `run_status` int unsigned NOT NULL, - `response` text COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `task_id` int unsigned NOT NULL, + `run_time` timestamp NOT NULL, + `run_status` int unsigned NOT NULL, + `response` text COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `user_ssh_keys`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `user_ssh_keys` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `user_id` int unsigned NOT NULL, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `fingerprint` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `public_key` text COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - `deleted_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `user_ssh_keys_user_id_foreign` (`user_id`), - CONSTRAINT `user_ssh_keys_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE + `id` int unsigned NOT NULL AUTO_INCREMENT, + `user_id` int unsigned NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `fingerprint` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `public_key` text COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `user_ssh_keys_user_id_foreign` (`user_id`), + CONSTRAINT `user_ssh_keys_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( - `id` int unsigned NOT NULL AUTO_INCREMENT, - `external_id` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, - `username` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `name_first` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `name_last` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `password` text COLLATE utf8mb4_unicode_ci NOT NULL, - `remember_token` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `language` char(5) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'en', - `root_admin` tinyint unsigned NOT NULL DEFAULT '0', - `use_totp` tinyint unsigned NOT NULL, - `totp_secret` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, - `totp_authenticated_at` timestamp NULL DEFAULT NULL, - `gravatar` tinyint(1) NOT NULL DEFAULT '1', - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `users_uuid_unique` (`uuid`), - UNIQUE KEY `users_email_unique` (`email`), - UNIQUE KEY `users_username_unique` (`username`), - KEY `users_external_id_index` (`external_id`) + `id` int unsigned NOT NULL AUTO_INCREMENT, + `external_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `uuid` char(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_first` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name_last` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `password` text COLLATE utf8mb4_unicode_ci NOT NULL, + `remember_token` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `language` char(5) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'en', + `root_admin` tinyint unsigned NOT NULL DEFAULT '0', + `use_totp` tinyint unsigned NOT NULL, + `totp_secret` text COLLATE utf8mb4_unicode_ci, + `totp_authenticated_at` timestamp NULL DEFAULT NULL, + `gravatar` tinyint(1) NOT NULL DEFAULT '1', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `users_uuid_unique` (`uuid`), + UNIQUE KEY `users_email_unique` (`email`), + UNIQUE KEY `users_username_unique` (`username`), + KEY `users_external_id_index` (`external_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -704,147 +707,153 @@ INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (53,'2016_10_23_204 INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (54,'2016_10_23_204321_add_foreign_service_variables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (55,'2016_10_23_204454_add_foreign_subusers',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (56,'2016_10_23_204610_add_foreign_tasks',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (57,'2016_11_04_000949_add_ark_service_option_fixed',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (58,'2016_11_11_220649_add_pack_support',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (59,'2016_11_11_231731_set_service_name_unique',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (60,'2016_11_27_142519_add_pack_column',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (61,'2016_12_01_173018_add_configurable_upload_limit',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (62,'2016_12_02_185206_correct_service_variables',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (63,'2017_01_03_150436_fix_misnamed_option_tag',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (64,'2017_01_07_154228_create_node_configuration_tokens_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (65,'2017_01_12_135449_add_more_user_data',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (66,'2017_02_02_175548_UpdateColumnNames',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (67,'2017_02_03_140948_UpdateNodesTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (68,'2017_02_03_155554_RenameColumns',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (69,'2017_02_05_164123_AdjustColumnNames',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (70,'2017_02_05_164516_AdjustColumnNamesForServicePacks',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (71,'2017_02_09_174834_SetupPermissionsPivotTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (72,'2017_02_10_171858_UpdateAPIKeyColumnNames',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (73,'2017_03_03_224254_UpdateNodeConfigTokensColumns',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (74,'2017_03_05_212803_DeleteServiceExecutableOption',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (75,'2017_03_10_162934_AddNewServiceOptionsColumns',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (76,'2017_03_10_173607_MigrateToNewServiceSystem',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (77,'2017_03_11_215455_ChangeServiceVariablesValidationRules',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (78,'2017_03_12_150648_MoveFunctionsFromFileToDatabase',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (79,'2017_03_14_175631_RenameServicePacksToSingluarPacks',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (80,'2017_03_14_200326_AddLockedStatusToTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (81,'2017_03_16_181109_ReOrganizeDatabaseServersToDatabaseHost',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (82,'2017_03_16_181515_CleanupDatabasesDatabase',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (83,'2017_03_18_204953_AddForeignKeyToPacks',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (84,'2017_03_31_221948_AddServerDescriptionColumn',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (85,'2017_04_02_163232_DropDeletedAtColumnFromServers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (86,'2017_04_15_125021_UpgradeTaskSystem',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (87,'2017_04_20_171943_AddScriptsToServiceOptions',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (88,'2017_04_21_151432_AddServiceScriptTrackingToServers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (89,'2017_04_27_145300_AddCopyScriptFromColumn',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (90,'2017_04_27_223629_AddAbilityToDefineConnectionOverSSLWithDaemonBehindProxy',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (91,'2017_05_01_141528_DeleteDownloadTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (92,'2017_05_01_141559_DeleteNodeConfigurationTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (93,'2017_06_10_152951_add_external_id_to_users',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (94,'2017_06_25_133923_ChangeForeignKeyToBeOnCascadeDelete',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (95,'2017_07_08_152806_ChangeUserPermissionsToDeleteOnUserDeletion',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (96,'2017_07_08_154416_SetAllocationToReferenceNullOnServerDelete',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (97,'2017_07_08_154650_CascadeDeletionWhenAServerOrVariableIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (98,'2017_07_24_194433_DeleteTaskWhenParentServerIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (99,'2017_08_05_115800_CascadeNullValuesForDatabaseHostWhenNodeIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (100,'2017_08_05_144104_AllowNegativeValuesForOverallocation',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (101,'2017_08_05_174811_SetAllocationUnqiueUsingMultipleFields',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (102,'2017_08_15_214555_CascadeDeletionWhenAParentServiceIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (103,'2017_08_18_215428_RemovePackWhenParentServiceOptionIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (104,'2017_09_10_225749_RenameTasksTableForStructureRefactor',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (105,'2017_09_10_225941_CreateSchedulesTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (106,'2017_09_10_230309_CreateNewTasksTableForSchedules',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (107,'2017_09_11_002938_TransferOldTasksToNewScheduler',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (108,'2017_09_13_211810_UpdateOldPermissionsToPointToNewScheduleSystem',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (109,'2017_09_23_170933_CreateDaemonKeysTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (110,'2017_09_23_173628_RemoveDaemonSecretFromServersTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (111,'2017_09_23_185022_RemoveDaemonSecretFromSubusersTable',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (112,'2017_10_02_202000_ChangeServicesToUseAMoreUniqueIdentifier',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (113,'2017_10_02_202007_ChangeToABetterUniqueServiceConfiguration',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (114,'2017_10_03_233202_CascadeDeletionWhenServiceOptionIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (115,'2017_10_06_214026_ServicesToNestsConversion',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (116,'2017_10_06_214053_ServiceOptionsToEggsConversion',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (117,'2017_10_06_215741_ServiceVariablesToEggVariablesConversion',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (118,'2017_10_24_222238_RemoveLegacySFTPInformation',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (119,'2017_11_11_161922_Add2FaLastAuthorizationTimeColumn',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (120,'2017_11_19_122708_MigratePubPrivFormatToSingleKey',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (121,'2017_12_04_184012_DropAllocationsWhenNodeIsDeleted',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (122,'2017_12_12_220426_MigrateSettingsTableToNewFormat',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (123,'2018_01_01_122821_AllowNegativeValuesForServerSwap',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (124,'2018_01_11_213943_AddApiKeyPermissionColumns',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (125,'2018_01_13_142012_SetupTableForKeyEncryption',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (126,'2018_01_13_145209_AddLastUsedAtColumn',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (127,'2018_02_04_145617_AllowTextInUserExternalId',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (128,'2018_02_10_151150_remove_unique_index_on_external_id_column',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (129,'2018_02_17_134254_ensure_unique_allocation_id_on_servers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (130,'2018_02_24_112356_add_external_id_column_to_servers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (131,'2018_02_25_160152_remove_default_null_value_on_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (132,'2018_02_25_160604_define_unique_index_on_users_external_id',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (133,'2018_03_01_192831_add_database_and_port_limit_columns_to_servers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (134,'2018_03_15_124536_add_description_to_nodes',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (135,'2018_05_04_123826_add_maintenance_to_nodes',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (136,'2018_09_03_143756_allow_egg_variables_to_have_longer_values',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (137,'2018_09_03_144005_allow_server_variables_to_have_longer_values',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (138,'2019_03_02_142328_set_allocation_limit_default_null',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (139,'2019_03_02_151321_fix_unique_index_to_account_for_host',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (140,'2020_03_22_163911_merge_permissions_table_into_subusers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (141,'2020_03_22_164814_drop_permissions_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (142,'2020_04_03_203624_add_threads_column_to_servers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (143,'2020_04_03_230614_create_backups_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (144,'2020_04_04_131016_add_table_server_transfers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (145,'2020_04_10_141024_store_node_tokens_as_encrypted_value',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (146,'2020_04_17_203438_allow_nullable_descriptions',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (147,'2020_04_22_055500_add_max_connections_column',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (148,'2020_04_26_111208_add_backup_limit_to_servers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (149,'2020_05_20_234655_add_mounts_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (150,'2020_05_21_192756_add_mount_server_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (151,'2020_07_02_213612_create_user_recovery_tokens_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (152,'2020_07_09_201845_add_notes_column_for_allocations',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (153,'2020_08_20_205533_add_backup_state_column_to_backups',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (154,'2020_08_22_132500_update_bytes_to_unsigned_bigint',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (155,'2020_08_23_175331_modify_checksums_column_for_backups',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (156,'2020_09_13_110007_drop_packs_from_servers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (157,'2020_09_13_110021_drop_packs_from_api_key_permissions',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (158,'2020_09_13_110047_drop_packs_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (159,'2020_09_13_113503_drop_daemon_key_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (160,'2020_10_10_165437_change_unique_database_name_to_account_for_server',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (161,'2020_10_26_194904_remove_nullable_from_schedule_name_field',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (162,'2020_11_02_201014_add_features_column_to_eggs',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (163,'2020_12_12_102435_support_multiple_docker_images_and_updates',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (164,'2020_12_14_013707_make_successful_nullable_in_server_transfers',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (165,'2020_12_17_014330_add_archived_field_to_server_transfers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (166,'2020_12_24_092449_make_allocation_fields_json',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (167,'2020_12_26_184914_add_upload_id_column_to_backups_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (168,'2021_01_10_153937_add_file_denylist_to_egg_configs',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (169,'2021_01_13_013420_add_cron_month',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (170,'2021_01_17_102401_create_audit_logs_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (171,'2021_01_17_152623_add_generic_server_status_column',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (172,'2021_01_26_210502_update_file_denylist_to_json',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (173,'2021_02_23_205021_add_index_for_server_and_action',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (174,'2021_02_23_212657_make_sftp_port_unsigned_int',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (175,'2021_03_21_104718_force_cron_month_field_to_have_value_if_missing',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (176,'2021_05_01_092457_add_continue_on_failure_option_to_tasks',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (177,'2021_05_01_092523_add_only_run_when_server_online_option_to_schedules',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (178,'2021_05_03_201016_add_support_for_locking_a_backup',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (179,'2021_07_12_013420_remove_userinteraction',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (180,'2021_07_17_211512_create_user_ssh_keys_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (181,'2021_08_03_210600_change_successful_field_to_default_to_false_on_backups_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (182,'2021_08_21_175111_add_foreign_keys_to_mount_node_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (183,'2021_08_21_175118_add_foreign_keys_to_mount_server_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (184,'2021_08_21_180921_add_foreign_keys_to_egg_mount_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (185,'2022_01_25_030847_drop_google_analytics',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (186,'2022_05_07_165334_migrate_egg_images_array_to_new_format',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (187,'2022_05_28_135717_create_activity_logs_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (188,'2022_05_29_140349_create_activity_log_actors_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (189,'2022_06_18_112822_track_api_key_usage_for_activity_events',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (190,'2022_08_16_214400_add_force_outgoing_ip_column_to_eggs_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (191,'2022_08_16_230204_add_installed_at_column_to_servers_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (192,'2022_12_12_213937_update_mail_settings_to_new_format',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (193,'2023_01_24_210051_add_uuid_column_to_failed_jobs_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (194,'2023_02_23_191004_add_expires_at_column_to_api_keys_table',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (197,'2024_03_12_154408_remove_nests_table',2); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (198,'2024_03_14_055537_remove_locations_table',2); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (201,'2024_04_20_214441_add_egg_var_sort',3); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (203,'2024_04_14_002250_update_column_names',4); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (204,'2024_05_08_094823_rename_oom_disabled_column_to_oom_killer',1); -INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (205,'2024_05_16_091207_add_cpu_columns_to_nodes_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (57,'2016_11_11_220649_add_pack_support',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (58,'2016_11_11_231731_set_service_name_unique',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (59,'2016_11_27_142519_add_pack_column',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (60,'2016_12_01_173018_add_configurable_upload_limit',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (61,'2016_12_02_185206_correct_service_variables',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (62,'2017_01_07_154228_create_node_configuration_tokens_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (63,'2017_01_12_135449_add_more_user_data',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (64,'2017_02_02_175548_UpdateColumnNames',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (65,'2017_02_03_140948_UpdateNodesTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (66,'2017_02_03_155554_RenameColumns',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (67,'2017_02_05_164123_AdjustColumnNames',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (68,'2017_02_05_164516_AdjustColumnNamesForServicePacks',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (69,'2017_02_09_174834_SetupPermissionsPivotTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (70,'2017_02_10_171858_UpdateAPIKeyColumnNames',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (71,'2017_03_03_224254_UpdateNodeConfigTokensColumns',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (72,'2017_03_05_212803_DeleteServiceExecutableOption',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (73,'2017_03_10_162934_AddNewServiceOptionsColumns',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (74,'2017_03_10_173607_MigrateToNewServiceSystem',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (75,'2017_03_11_215455_ChangeServiceVariablesValidationRules',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (76,'2017_03_12_150648_MoveFunctionsFromFileToDatabase',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (77,'2017_03_14_175631_RenameServicePacksToSingluarPacks',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (78,'2017_03_14_200326_AddLockedStatusToTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (79,'2017_03_16_181109_ReOrganizeDatabaseServersToDatabaseHost',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (80,'2017_03_16_181515_CleanupDatabasesDatabase',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (81,'2017_03_18_204953_AddForeignKeyToPacks',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (82,'2017_03_31_221948_AddServerDescriptionColumn',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (83,'2017_04_02_163232_DropDeletedAtColumnFromServers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (84,'2017_04_15_125021_UpgradeTaskSystem',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (85,'2017_04_20_171943_AddScriptsToServiceOptions',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (86,'2017_04_21_151432_AddServiceScriptTrackingToServers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (87,'2017_04_27_145300_AddCopyScriptFromColumn',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (88,'2017_04_27_223629_AddAbilityToDefineConnectionOverSSLWithDaemonBehindProxy',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (89,'2017_05_01_141528_DeleteDownloadTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (90,'2017_05_01_141559_DeleteNodeConfigurationTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (91,'2017_06_10_152951_add_external_id_to_users',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (92,'2017_06_25_133923_ChangeForeignKeyToBeOnCascadeDelete',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (93,'2017_07_08_152806_ChangeUserPermissionsToDeleteOnUserDeletion',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (94,'2017_07_08_154416_SetAllocationToReferenceNullOnServerDelete',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (95,'2017_07_08_154650_CascadeDeletionWhenAServerOrVariableIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (96,'2017_07_24_194433_DeleteTaskWhenParentServerIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (97,'2017_08_05_115800_CascadeNullValuesForDatabaseHostWhenNodeIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (98,'2017_08_05_144104_AllowNegativeValuesForOverallocation',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (99,'2017_08_05_174811_SetAllocationUnqiueUsingMultipleFields',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (100,'2017_08_15_214555_CascadeDeletionWhenAParentServiceIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (101,'2017_08_18_215428_RemovePackWhenParentServiceOptionIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (102,'2017_09_10_225749_RenameTasksTableForStructureRefactor',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (103,'2017_09_10_225941_CreateSchedulesTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (104,'2017_09_10_230309_CreateNewTasksTableForSchedules',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (105,'2017_09_11_002938_TransferOldTasksToNewScheduler',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (106,'2017_09_13_211810_UpdateOldPermissionsToPointToNewScheduleSystem',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (107,'2017_09_23_170933_CreateDaemonKeysTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (108,'2017_09_23_173628_RemoveDaemonSecretFromServersTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (109,'2017_09_23_185022_RemoveDaemonSecretFromSubusersTable',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (110,'2017_10_02_202000_ChangeServicesToUseAMoreUniqueIdentifier',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (111,'2017_10_02_202007_ChangeToABetterUniqueServiceConfiguration',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (112,'2017_10_03_233202_CascadeDeletionWhenServiceOptionIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (113,'2017_10_06_214026_ServicesToNestsConversion',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (114,'2017_10_06_214053_ServiceOptionsToEggsConversion',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (115,'2017_10_06_215741_ServiceVariablesToEggVariablesConversion',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (116,'2017_10_24_222238_RemoveLegacySFTPInformation',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (117,'2017_11_11_161922_Add2FaLastAuthorizationTimeColumn',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (118,'2017_11_19_122708_MigratePubPrivFormatToSingleKey',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (119,'2017_12_04_184012_DropAllocationsWhenNodeIsDeleted',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (120,'2017_12_12_220426_MigrateSettingsTableToNewFormat',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (121,'2018_01_01_122821_AllowNegativeValuesForServerSwap',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (122,'2018_01_11_213943_AddApiKeyPermissionColumns',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (123,'2018_01_13_142012_SetupTableForKeyEncryption',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (124,'2018_01_13_145209_AddLastUsedAtColumn',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (125,'2018_02_04_145617_AllowTextInUserExternalId',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (126,'2018_02_10_151150_remove_unique_index_on_external_id_column',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (127,'2018_02_17_134254_ensure_unique_allocation_id_on_servers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (128,'2018_02_24_112356_add_external_id_column_to_servers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (129,'2018_02_25_160152_remove_default_null_value_on_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (130,'2018_02_25_160604_define_unique_index_on_users_external_id',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (131,'2018_03_01_192831_add_database_and_port_limit_columns_to_servers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (132,'2018_03_15_124536_add_description_to_nodes',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (133,'2018_05_04_123826_add_maintenance_to_nodes',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (134,'2018_09_03_143756_allow_egg_variables_to_have_longer_values',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (135,'2018_09_03_144005_allow_server_variables_to_have_longer_values',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (136,'2019_03_02_142328_set_allocation_limit_default_null',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (137,'2019_03_02_151321_fix_unique_index_to_account_for_host',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (138,'2020_03_22_163911_merge_permissions_table_into_subusers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (139,'2020_03_22_164814_drop_permissions_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (140,'2020_04_03_203624_add_threads_column_to_servers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (141,'2020_04_03_230614_create_backups_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (142,'2020_04_04_131016_add_table_server_transfers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (143,'2020_04_10_141024_store_node_tokens_as_encrypted_value',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (144,'2020_04_17_203438_allow_nullable_descriptions',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (145,'2020_04_22_055500_add_max_connections_column',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (146,'2020_04_26_111208_add_backup_limit_to_servers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (147,'2020_05_20_234655_add_mounts_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (148,'2020_05_21_192756_add_mount_server_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (149,'2020_07_02_213612_create_user_recovery_tokens_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (150,'2020_07_09_201845_add_notes_column_for_allocations',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (151,'2020_08_20_205533_add_backup_state_column_to_backups',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (152,'2020_08_22_132500_update_bytes_to_unsigned_bigint',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (153,'2020_08_23_175331_modify_checksums_column_for_backups',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (154,'2020_09_13_110007_drop_packs_from_servers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (155,'2020_09_13_110021_drop_packs_from_api_key_permissions',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (156,'2020_09_13_110047_drop_packs_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (157,'2020_09_13_113503_drop_daemon_key_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (158,'2020_10_10_165437_change_unique_database_name_to_account_for_server',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (159,'2020_10_26_194904_remove_nullable_from_schedule_name_field',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (160,'2020_11_02_201014_add_features_column_to_eggs',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (161,'2020_12_12_102435_support_multiple_docker_images_and_updates',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (162,'2020_12_14_013707_make_successful_nullable_in_server_transfers',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (163,'2020_12_17_014330_add_archived_field_to_server_transfers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (164,'2020_12_24_092449_make_allocation_fields_json',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (165,'2020_12_26_184914_add_upload_id_column_to_backups_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (166,'2021_01_10_153937_add_file_denylist_to_egg_configs',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (167,'2021_01_13_013420_add_cron_month',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (168,'2021_01_17_102401_create_audit_logs_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (169,'2021_01_17_152623_add_generic_server_status_column',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (170,'2021_01_26_210502_update_file_denylist_to_json',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (171,'2021_02_23_205021_add_index_for_server_and_action',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (172,'2021_02_23_212657_make_sftp_port_unsigned_int',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (173,'2021_03_21_104718_force_cron_month_field_to_have_value_if_missing',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (174,'2021_05_01_092457_add_continue_on_failure_option_to_tasks',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (175,'2021_05_01_092523_add_only_run_when_server_online_option_to_schedules',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (176,'2021_05_03_201016_add_support_for_locking_a_backup',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (177,'2021_07_12_013420_remove_userinteraction',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (178,'2021_07_17_211512_create_user_ssh_keys_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (179,'2021_08_03_210600_change_successful_field_to_default_to_false_on_backups_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (180,'2021_08_21_175111_add_foreign_keys_to_mount_node_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (181,'2021_08_21_175118_add_foreign_keys_to_mount_server_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (182,'2021_08_21_180921_add_foreign_keys_to_egg_mount_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (183,'2022_01_25_030847_drop_google_analytics',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (184,'2022_05_07_165334_migrate_egg_images_array_to_new_format',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (185,'2022_05_28_135717_create_activity_logs_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (186,'2022_05_29_140349_create_activity_log_actors_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (187,'2022_06_18_112822_track_api_key_usage_for_activity_events',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (188,'2022_08_16_214400_add_force_outgoing_ip_column_to_eggs_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (189,'2022_08_16_230204_add_installed_at_column_to_servers_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (190,'2022_12_12_213937_update_mail_settings_to_new_format',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (191,'2023_01_24_210051_add_uuid_column_to_failed_jobs_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (192,'2023_02_23_191004_add_expires_at_column_to_api_keys_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (193,'2024_03_12_154408_remove_nests_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (194,'2024_03_14_055537_remove_locations_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (195,'2024_04_14_002250_update_column_names',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (196,'2024_04_20_214441_add_egg_var_sort',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (197,'2024_04_28_184102_add_mounts_to_api_keys',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (198,'2024_05_08_094823_rename_oom_disabled_column_to_oom_killer',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (199,'2024_05_16_091207_add_cpu_columns_to_nodes_table',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (200,'2024_05_20_002841_add_docker_container_label',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (201,'2024_05_31_204646_fix_old_encrypted_values',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (202,'2024_06_02_205622_update_stock_egg_uuid',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (203,'2024_06_04_085042_add_daemon_sftp_alias_column_to_nodes',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (204,'2024_06_05_220135_update_egg_config_variables',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (205,'2024_06_08_020904_refix_egg_variables',1); +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (206,'2024_06_11_220722_update_field_length',1); diff --git a/tests/Integration/Api/Client/Server/Subuser/CreateServerSubuserTest.php b/tests/Integration/Api/Client/Server/Subuser/CreateServerSubuserTest.php index ce382d6ec..7175a7cc7 100644 --- a/tests/Integration/Api/Client/Server/Subuser/CreateServerSubuserTest.php +++ b/tests/Integration/Api/Client/Server/Subuser/CreateServerSubuserTest.php @@ -80,7 +80,7 @@ class CreateServerSubuserTest extends ClientApiIntegrationTestCase { [$user, $server] = $this->generateTestAccount(); - $email = str_repeat(Str::random(20), 9) . '1@gmail.com'; // 191 is the hard limit for the column in MySQL. + $email = str_repeat(Str::random(35), 7) . '@gmail.com'; // 255 is the hard limit for the column in MySQL. $response = $this->actingAs($user)->postJson($this->link($server) . '/users', [ 'email' => $email, @@ -99,7 +99,7 @@ class CreateServerSubuserTest extends ClientApiIntegrationTestCase ]); $response->assertStatus(Response::HTTP_UNPROCESSABLE_ENTITY); - $response->assertJsonPath('errors.0.detail', 'The email must be between 1 and 191 characters.'); + $response->assertJsonPath('errors.0.detail', 'The email must be between 1 and 255 characters.'); $response->assertJsonPath('errors.0.meta.source_field', 'email'); }