mirror of
https://github.com/khoaliber/dockhand.git
synced 2026-03-02 13:17:57 +00:00
drizzle config
This commit is contained in:
401
drizzle/0000_initial_schema.sql
Normal file
401
drizzle/0000_initial_schema.sql
Normal file
@@ -0,0 +1,401 @@
|
||||
CREATE TABLE `audit_logs` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`user_id` integer,
|
||||
`username` text NOT NULL,
|
||||
`action` text NOT NULL,
|
||||
`entity_type` text NOT NULL,
|
||||
`entity_id` text,
|
||||
`entity_name` text,
|
||||
`environment_id` integer,
|
||||
`description` text,
|
||||
`details` text,
|
||||
`ip_address` text,
|
||||
`user_agent` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE set null,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE set null
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `audit_logs_user_id_idx` ON `audit_logs` (`user_id`);--> statement-breakpoint
|
||||
CREATE INDEX `audit_logs_created_at_idx` ON `audit_logs` (`created_at`);--> statement-breakpoint
|
||||
CREATE TABLE `auth_settings` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`auth_enabled` integer DEFAULT false,
|
||||
`default_provider` text DEFAULT 'local',
|
||||
`session_timeout` integer DEFAULT 86400,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `auto_update_settings` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer,
|
||||
`container_name` text NOT NULL,
|
||||
`enabled` integer DEFAULT false,
|
||||
`schedule_type` text DEFAULT 'daily',
|
||||
`cron_expression` text,
|
||||
`vulnerability_criteria` text DEFAULT 'never',
|
||||
`last_checked` text,
|
||||
`last_updated` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE no action
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `auto_update_settings_environment_id_container_name_unique` ON `auto_update_settings` (`environment_id`,`container_name`);--> statement-breakpoint
|
||||
CREATE TABLE `config_sets` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`description` text,
|
||||
`env_vars` text,
|
||||
`labels` text,
|
||||
`ports` text,
|
||||
`volumes` text,
|
||||
`network_mode` text DEFAULT 'bridge',
|
||||
`restart_policy` text DEFAULT 'no',
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `config_sets_name_unique` ON `config_sets` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `container_events` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer,
|
||||
`container_id` text NOT NULL,
|
||||
`container_name` text,
|
||||
`image` text,
|
||||
`action` text NOT NULL,
|
||||
`actor_attributes` text,
|
||||
`timestamp` text NOT NULL,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `container_events_env_timestamp_idx` ON `container_events` (`environment_id`,`timestamp`);--> statement-breakpoint
|
||||
CREATE TABLE `environment_notifications` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer NOT NULL,
|
||||
`notification_id` integer NOT NULL,
|
||||
`enabled` integer DEFAULT true,
|
||||
`event_types` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`notification_id`) REFERENCES `notification_settings`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `environment_notifications_environment_id_notification_id_unique` ON `environment_notifications` (`environment_id`,`notification_id`);--> statement-breakpoint
|
||||
CREATE TABLE `environments` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`host` text,
|
||||
`port` integer DEFAULT 2375,
|
||||
`protocol` text DEFAULT 'http',
|
||||
`tls_ca` text,
|
||||
`tls_cert` text,
|
||||
`tls_key` text,
|
||||
`tls_skip_verify` integer DEFAULT false,
|
||||
`icon` text DEFAULT 'globe',
|
||||
`collect_activity` integer DEFAULT true,
|
||||
`collect_metrics` integer DEFAULT true,
|
||||
`highlight_changes` integer DEFAULT true,
|
||||
`labels` text,
|
||||
`connection_type` text DEFAULT 'socket',
|
||||
`socket_path` text DEFAULT '/var/run/docker.sock',
|
||||
`hawser_token` text,
|
||||
`hawser_last_seen` text,
|
||||
`hawser_agent_id` text,
|
||||
`hawser_agent_name` text,
|
||||
`hawser_version` text,
|
||||
`hawser_capabilities` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `environments_name_unique` ON `environments` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `git_credentials` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`auth_type` text DEFAULT 'none' NOT NULL,
|
||||
`username` text,
|
||||
`password` text,
|
||||
`ssh_private_key` text,
|
||||
`ssh_passphrase` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `git_credentials_name_unique` ON `git_credentials` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `git_repositories` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`url` text NOT NULL,
|
||||
`branch` text DEFAULT 'main',
|
||||
`credential_id` integer,
|
||||
`compose_path` text DEFAULT 'docker-compose.yml',
|
||||
`environment_id` integer,
|
||||
`auto_update` integer DEFAULT false,
|
||||
`auto_update_schedule` text DEFAULT 'daily',
|
||||
`auto_update_cron` text DEFAULT '0 3 * * *',
|
||||
`webhook_enabled` integer DEFAULT false,
|
||||
`webhook_secret` text,
|
||||
`last_sync` text,
|
||||
`last_commit` text,
|
||||
`sync_status` text DEFAULT 'pending',
|
||||
`sync_error` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`credential_id`) REFERENCES `git_credentials`(`id`) ON UPDATE no action ON DELETE set null
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `git_repositories_name_unique` ON `git_repositories` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `git_stacks` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`stack_name` text NOT NULL,
|
||||
`environment_id` integer,
|
||||
`repository_id` integer NOT NULL,
|
||||
`compose_path` text DEFAULT 'docker-compose.yml',
|
||||
`auto_update` integer DEFAULT false,
|
||||
`auto_update_schedule` text DEFAULT 'daily',
|
||||
`auto_update_cron` text DEFAULT '0 3 * * *',
|
||||
`webhook_enabled` integer DEFAULT false,
|
||||
`webhook_secret` text,
|
||||
`last_sync` text,
|
||||
`last_commit` text,
|
||||
`sync_status` text DEFAULT 'pending',
|
||||
`sync_error` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`repository_id`) REFERENCES `git_repositories`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `git_stacks_stack_name_environment_id_unique` ON `git_stacks` (`stack_name`,`environment_id`);--> statement-breakpoint
|
||||
CREATE TABLE `hawser_tokens` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`token` text NOT NULL,
|
||||
`token_prefix` text NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`environment_id` integer,
|
||||
`is_active` integer DEFAULT true,
|
||||
`last_used` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`expires_at` text,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `hawser_tokens_token_unique` ON `hawser_tokens` (`token`);--> statement-breakpoint
|
||||
CREATE TABLE `host_metrics` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer,
|
||||
`cpu_percent` real NOT NULL,
|
||||
`memory_percent` real NOT NULL,
|
||||
`memory_used` integer,
|
||||
`memory_total` integer,
|
||||
`timestamp` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `host_metrics_env_timestamp_idx` ON `host_metrics` (`environment_id`,`timestamp`);--> statement-breakpoint
|
||||
CREATE TABLE `ldap_config` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`enabled` integer DEFAULT false,
|
||||
`server_url` text NOT NULL,
|
||||
`bind_dn` text,
|
||||
`bind_password` text,
|
||||
`base_dn` text NOT NULL,
|
||||
`user_filter` text DEFAULT '(uid={{username}})',
|
||||
`username_attribute` text DEFAULT 'uid',
|
||||
`email_attribute` text DEFAULT 'mail',
|
||||
`display_name_attribute` text DEFAULT 'cn',
|
||||
`group_base_dn` text,
|
||||
`group_filter` text,
|
||||
`admin_group` text,
|
||||
`role_mappings` text,
|
||||
`tls_enabled` integer DEFAULT false,
|
||||
`tls_ca` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `notification_settings` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`type` text NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`enabled` integer DEFAULT true,
|
||||
`config` text NOT NULL,
|
||||
`event_types` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `oidc_config` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`enabled` integer DEFAULT false,
|
||||
`issuer_url` text NOT NULL,
|
||||
`client_id` text NOT NULL,
|
||||
`client_secret` text NOT NULL,
|
||||
`redirect_uri` text NOT NULL,
|
||||
`scopes` text DEFAULT 'openid profile email',
|
||||
`username_claim` text DEFAULT 'preferred_username',
|
||||
`email_claim` text DEFAULT 'email',
|
||||
`display_name_claim` text DEFAULT 'name',
|
||||
`admin_claim` text,
|
||||
`admin_value` text,
|
||||
`role_mappings_claim` text DEFAULT 'groups',
|
||||
`role_mappings` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `registries` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`url` text NOT NULL,
|
||||
`username` text,
|
||||
`password` text,
|
||||
`is_default` integer DEFAULT false,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `registries_name_unique` ON `registries` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `roles` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`name` text NOT NULL,
|
||||
`description` text,
|
||||
`is_system` integer DEFAULT false,
|
||||
`permissions` text NOT NULL,
|
||||
`environment_ids` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `roles_name_unique` ON `roles` (`name`);--> statement-breakpoint
|
||||
CREATE TABLE `schedule_executions` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`schedule_type` text NOT NULL,
|
||||
`schedule_id` integer NOT NULL,
|
||||
`environment_id` integer,
|
||||
`entity_name` text NOT NULL,
|
||||
`triggered_by` text NOT NULL,
|
||||
`triggered_at` text NOT NULL,
|
||||
`started_at` text,
|
||||
`completed_at` text,
|
||||
`duration` integer,
|
||||
`status` text NOT NULL,
|
||||
`error_message` text,
|
||||
`details` text,
|
||||
`logs` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `schedule_executions_type_id_idx` ON `schedule_executions` (`schedule_type`,`schedule_id`);--> statement-breakpoint
|
||||
CREATE TABLE `sessions` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`user_id` integer NOT NULL,
|
||||
`provider` text NOT NULL,
|
||||
`expires_at` text NOT NULL,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `sessions_user_id_idx` ON `sessions` (`user_id`);--> statement-breakpoint
|
||||
CREATE INDEX `sessions_expires_at_idx` ON `sessions` (`expires_at`);--> statement-breakpoint
|
||||
CREATE TABLE `settings` (
|
||||
`key` text PRIMARY KEY NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `stack_events` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer,
|
||||
`stack_name` text NOT NULL,
|
||||
`event_type` text NOT NULL,
|
||||
`timestamp` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`metadata` text,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `stack_sources` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`stack_name` text NOT NULL,
|
||||
`environment_id` integer,
|
||||
`source_type` text DEFAULT 'internal' NOT NULL,
|
||||
`git_repository_id` integer,
|
||||
`git_stack_id` integer,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`git_repository_id`) REFERENCES `git_repositories`(`id`) ON UPDATE no action ON DELETE set null,
|
||||
FOREIGN KEY (`git_stack_id`) REFERENCES `git_stacks`(`id`) ON UPDATE no action ON DELETE set null
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `stack_sources_stack_name_environment_id_unique` ON `stack_sources` (`stack_name`,`environment_id`);--> statement-breakpoint
|
||||
CREATE TABLE `user_preferences` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`user_id` integer,
|
||||
`environment_id` integer,
|
||||
`key` text NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_preferences_user_id_environment_id_key_unique` ON `user_preferences` (`user_id`,`environment_id`,`key`);--> statement-breakpoint
|
||||
CREATE TABLE `user_roles` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`user_id` integer NOT NULL,
|
||||
`role_id` integer NOT NULL,
|
||||
`environment_id` integer,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`role_id`) REFERENCES `roles`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_roles_user_id_role_id_environment_id_unique` ON `user_roles` (`user_id`,`role_id`,`environment_id`);--> statement-breakpoint
|
||||
CREATE TABLE `users` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`username` text NOT NULL,
|
||||
`email` text,
|
||||
`password_hash` text NOT NULL,
|
||||
`display_name` text,
|
||||
`avatar` text,
|
||||
`auth_provider` text DEFAULT 'local',
|
||||
`mfa_enabled` integer DEFAULT false,
|
||||
`mfa_secret` text,
|
||||
`is_active` integer DEFAULT true,
|
||||
`last_login` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `users_username_unique` ON `users` (`username`);--> statement-breakpoint
|
||||
CREATE TABLE `vulnerability_scans` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer,
|
||||
`image_id` text NOT NULL,
|
||||
`image_name` text NOT NULL,
|
||||
`scanner` text NOT NULL,
|
||||
`scanned_at` text NOT NULL,
|
||||
`scan_duration` integer,
|
||||
`critical_count` integer DEFAULT 0,
|
||||
`high_count` integer DEFAULT 0,
|
||||
`medium_count` integer DEFAULT 0,
|
||||
`low_count` integer DEFAULT 0,
|
||||
`negligible_count` integer DEFAULT 0,
|
||||
`unknown_count` integer DEFAULT 0,
|
||||
`vulnerabilities` text,
|
||||
`error` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `vulnerability_scans_env_image_idx` ON `vulnerability_scans` (`environment_id`,`image_id`);
|
||||
14
drizzle/0001_add_stack_env_vars.sql
Normal file
14
drizzle/0001_add_stack_env_vars.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE `stack_environment_variables` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`stack_name` text NOT NULL,
|
||||
`environment_id` integer,
|
||||
`key` text NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`is_secret` integer DEFAULT false,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `stack_environment_variables_stack_name_environment_id_key_unique` ON `stack_environment_variables` (`stack_name`,`environment_id`,`key`);--> statement-breakpoint
|
||||
ALTER TABLE `git_stacks` ADD `env_file_path` text;
|
||||
12
drizzle/0002_add_pending_container_updates.sql
Normal file
12
drizzle/0002_add_pending_container_updates.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE `pending_container_updates` (
|
||||
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
`environment_id` integer NOT NULL,
|
||||
`container_id` text NOT NULL,
|
||||
`container_name` text NOT NULL,
|
||||
`current_image` text NOT NULL,
|
||||
`checked_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (`environment_id`) REFERENCES `environments`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `pending_container_updates_environment_id_container_id_unique` ON `pending_container_updates` (`environment_id`,`container_id`);
|
||||
2824
drizzle/meta/0000_snapshot.json
Normal file
2824
drizzle/meta/0000_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
2924
drizzle/meta/0001_snapshot.json
Normal file
2924
drizzle/meta/0001_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
3008
drizzle/meta/0002_snapshot.json
Normal file
3008
drizzle/meta/0002_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
27
drizzle/meta/_journal.json
Normal file
27
drizzle/meta/_journal.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"version": "7",
|
||||
"dialect": "sqlite",
|
||||
"entries": [
|
||||
{
|
||||
"idx": 0,
|
||||
"version": "6",
|
||||
"when": 1765804016391,
|
||||
"tag": "0000_initial_schema",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 1,
|
||||
"version": "6",
|
||||
"when": 1766378754939,
|
||||
"tag": "0001_add_stack_env_vars",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 2,
|
||||
"version": "6",
|
||||
"when": 1766763860091,
|
||||
"tag": "0002_add_pending_container_updates",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user