1550 lines
51 KiB
JSON
1550 lines
51 KiB
JSON
{
|
|
"tables": [
|
|
{
|
|
"name": "users",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Autenticação Laravel/Fortify",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('users_id_seq'::regclass)",
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('name')",
|
|
"description": "name"
|
|
},
|
|
{
|
|
"name": "email",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('email')->unique()",
|
|
"description": "email"
|
|
},
|
|
{
|
|
"name": "email_verified_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "timestamp('email_verified_at')->nullable()",
|
|
"description": "email verified at"
|
|
},
|
|
{
|
|
"name": "password",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('password')",
|
|
"description": "password"
|
|
},
|
|
{
|
|
"name": "remember_token",
|
|
"type": "character varying(100)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "rememberToken()",
|
|
"description": "remember token"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "updated at"
|
|
},
|
|
{
|
|
"name": "two_factor_secret",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php",
|
|
"definition": "text('two_factor_secret')->after('password')->nullable()",
|
|
"description": "two factor secret"
|
|
},
|
|
{
|
|
"name": "two_factor_recovery_codes",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php",
|
|
"definition": "text('two_factor_recovery_codes')->after('two_factor_secret')->nullable()",
|
|
"description": "two factor recovery codes"
|
|
},
|
|
{
|
|
"name": "two_factor_confirmed_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php",
|
|
"definition": "timestamp('two_factor_confirmed_at')->after('two_factor_recovery_codes')->nullable()",
|
|
"description": "two factor confirmed at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php"
|
|
},
|
|
{
|
|
"name": "password_reset_tokens",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Recuperação de palavra-passe",
|
|
"columns": [
|
|
{
|
|
"name": "email",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('email')->primary()",
|
|
"description": "email"
|
|
},
|
|
{
|
|
"name": "token",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('token')",
|
|
"description": "token"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "timestamp('created_at')->nullable()",
|
|
"description": "created at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"email"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php"
|
|
},
|
|
{
|
|
"name": "sessions",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Sessões Laravel",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('id')->primary()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"type": "bigint",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "foreignId('user_id')->nullable()->index()",
|
|
"description": "user id"
|
|
},
|
|
{
|
|
"name": "ip_address",
|
|
"type": "character varying(45)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "string('ip_address', 45)->nullable()",
|
|
"description": "ip address"
|
|
},
|
|
{
|
|
"name": "user_agent",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "text('user_agent')->nullable()",
|
|
"description": "user agent"
|
|
},
|
|
{
|
|
"name": "payload",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "longText('payload')",
|
|
"description": "payload"
|
|
},
|
|
{
|
|
"name": "last_activity",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"definition": "integer('last_activity')->index()",
|
|
"description": "last activity"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php"
|
|
},
|
|
{
|
|
"name": "cache",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Cache Laravel",
|
|
"columns": [
|
|
{
|
|
"name": "key",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "string('key')->primary()",
|
|
"description": "key"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "mediumText('value')",
|
|
"description": "value"
|
|
},
|
|
{
|
|
"name": "expiration",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "bigInteger('expiration')->index()",
|
|
"description": "expiration"
|
|
}
|
|
],
|
|
"pk": [
|
|
"key"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php"
|
|
},
|
|
{
|
|
"name": "cache_locks",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Bloqueios de cache",
|
|
"columns": [
|
|
{
|
|
"name": "key",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "string('key')->primary()",
|
|
"description": "key"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "string('owner')",
|
|
"description": "owner"
|
|
},
|
|
{
|
|
"name": "expiration",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"definition": "bigInteger('expiration')->index()",
|
|
"description": "expiration"
|
|
}
|
|
],
|
|
"pk": [
|
|
"key"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php"
|
|
},
|
|
{
|
|
"name": "jobs",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Fila Laravel",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('jobs_id_seq'::regclass)",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "queue",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('queue')->index()",
|
|
"description": "queue"
|
|
},
|
|
{
|
|
"name": "payload",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "longText('payload')",
|
|
"description": "payload"
|
|
},
|
|
{
|
|
"name": "attempts",
|
|
"type": "smallint",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "unsignedSmallInteger('attempts')",
|
|
"description": "attempts"
|
|
},
|
|
{
|
|
"name": "reserved_at",
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "unsignedInteger('reserved_at')->nullable()",
|
|
"description": "reserved at"
|
|
},
|
|
{
|
|
"name": "available_at",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "unsignedInteger('available_at')",
|
|
"description": "available at"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "unsignedInteger('created_at')",
|
|
"description": "created at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php"
|
|
},
|
|
{
|
|
"name": "job_batches",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Lotes de jobs",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('id')->primary()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('name')",
|
|
"description": "name"
|
|
},
|
|
{
|
|
"name": "total_jobs",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('total_jobs')",
|
|
"description": "total jobs"
|
|
},
|
|
{
|
|
"name": "pending_jobs",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('pending_jobs')",
|
|
"description": "pending jobs"
|
|
},
|
|
{
|
|
"name": "failed_jobs",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('failed_jobs')",
|
|
"description": "failed jobs"
|
|
},
|
|
{
|
|
"name": "failed_job_ids",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "longText('failed_job_ids')",
|
|
"description": "failed job ids"
|
|
},
|
|
{
|
|
"name": "options",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "mediumText('options')->nullable()",
|
|
"description": "options"
|
|
},
|
|
{
|
|
"name": "cancelled_at",
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('cancelled_at')->nullable()",
|
|
"description": "cancelled at"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('created_at')",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "finished_at",
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "integer('finished_at')->nullable()",
|
|
"description": "finished at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php"
|
|
},
|
|
{
|
|
"name": "failed_jobs",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Falhas de jobs",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('failed_jobs_id_seq'::regclass)",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('uuid')->unique()",
|
|
"description": "uuid"
|
|
},
|
|
{
|
|
"name": "connection",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('connection')",
|
|
"description": "connection"
|
|
},
|
|
{
|
|
"name": "queue",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "string('queue')",
|
|
"description": "queue"
|
|
},
|
|
{
|
|
"name": "payload",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "longText('payload')",
|
|
"description": "payload"
|
|
},
|
|
{
|
|
"name": "exception",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "longText('exception')",
|
|
"description": "exception"
|
|
},
|
|
{
|
|
"name": "failed_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": false,
|
|
"default": "CURRENT_TIMESTAMP",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"definition": "timestamp('failed_at')->useCurrent()",
|
|
"description": "failed at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php"
|
|
},
|
|
{
|
|
"name": "passkeys",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Credenciais passkey",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('passkeys_id_seq'::regclass)",
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "foreignId('user_id')->constrained()->cascadeOnDelete()",
|
|
"description": "user id"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "string('name')",
|
|
"description": "name"
|
|
},
|
|
{
|
|
"name": "credential_id",
|
|
"type": "character varying(255)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "string('credential_id')->unique()",
|
|
"description": "credential id"
|
|
},
|
|
{
|
|
"name": "credential",
|
|
"type": "json",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "json('credential')",
|
|
"description": "credential"
|
|
},
|
|
{
|
|
"name": "last_used_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "timestamp('last_used_at')->nullable()",
|
|
"description": "last used at"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "updated at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php"
|
|
},
|
|
{
|
|
"name": "sectors",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Sectores do catálogo público",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('sectors_id_seq'::regclass)",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "character varying(150)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "string('name', 150)",
|
|
"description": "name"
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"type": "character varying(180)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "string('slug', 180)->unique()",
|
|
"description": "slug"
|
|
},
|
|
{
|
|
"name": "short_description",
|
|
"type": "character varying(255)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "string('short_description', 255)->nullable()",
|
|
"description": "short description"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "text('description')->nullable()",
|
|
"description": "description"
|
|
},
|
|
{
|
|
"name": "icon",
|
|
"type": "character varying(100)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "string('icon', 100)->nullable()",
|
|
"description": "icon"
|
|
},
|
|
{
|
|
"name": "sort_order",
|
|
"type": "integer",
|
|
"nullable": false,
|
|
"default": "0",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "unsignedInteger('sort_order')->default(0)",
|
|
"description": "sort order"
|
|
},
|
|
{
|
|
"name": "is_active",
|
|
"type": "boolean",
|
|
"nullable": false,
|
|
"default": "true",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "boolean('is_active')->default(true)",
|
|
"description": "is active"
|
|
},
|
|
{
|
|
"name": "published_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "timestamp('published_at')->nullable()",
|
|
"description": "published at"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "updated at"
|
|
},
|
|
{
|
|
"name": "deleted_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"definition": "softDeletes()",
|
|
"description": "deleted at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php"
|
|
},
|
|
{
|
|
"name": "opportunities",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Catálogo público de oportunidades",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('opportunities_id_seq'::regclass)",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "sector_id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "foreignId('sector_id')\n ->constrained('sectors')\n ->cascadeOnUpdate()\n ->restrictOnDelete()",
|
|
"description": "sector id"
|
|
},
|
|
{
|
|
"name": "reference",
|
|
"type": "character varying(80)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('reference', 80)->unique()",
|
|
"description": "reference"
|
|
},
|
|
{
|
|
"name": "title",
|
|
"type": "character varying(200)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('title', 200)",
|
|
"description": "title"
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"type": "character varying(220)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('slug', 220)->unique()",
|
|
"description": "slug"
|
|
},
|
|
{
|
|
"name": "summary",
|
|
"type": "character varying(500)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('summary', 500)->nullable()",
|
|
"description": "summary"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "longText('description')->nullable()",
|
|
"description": "description"
|
|
},
|
|
{
|
|
"name": "province",
|
|
"type": "character varying(100)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('province', 100)->nullable()",
|
|
"description": "province"
|
|
},
|
|
{
|
|
"name": "district",
|
|
"type": "character varying(100)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('district', 100)->nullable()",
|
|
"description": "district"
|
|
},
|
|
{
|
|
"name": "promoter_name",
|
|
"type": "character varying(200)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('promoter_name', 200)->nullable()",
|
|
"description": "promoter name"
|
|
},
|
|
{
|
|
"name": "promoter_type",
|
|
"type": "character varying(100)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('promoter_type', 100)->nullable()",
|
|
"description": "promoter type"
|
|
},
|
|
{
|
|
"name": "maturity_level",
|
|
"type": "smallint",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "unsignedTinyInteger('maturity_level')->nullable()",
|
|
"description": "maturity level"
|
|
},
|
|
{
|
|
"name": "maturity_label",
|
|
"type": "character varying(120)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('maturity_label', 120)->nullable()",
|
|
"description": "maturity label"
|
|
},
|
|
{
|
|
"name": "estimated_investment_amount",
|
|
"type": "numeric(18,2)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "decimal('estimated_investment_amount', 18, 2)->nullable()",
|
|
"description": "estimated investment amount"
|
|
},
|
|
{
|
|
"name": "estimated_investment_currency",
|
|
"type": "character varying(10)",
|
|
"nullable": false,
|
|
"default": "'USD'",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('estimated_investment_currency', 10)->default('USD')",
|
|
"description": "estimated investment currency"
|
|
},
|
|
{
|
|
"name": "financing_modality",
|
|
"type": "character varying(120)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('financing_modality', 120)->nullable()",
|
|
"description": "financing modality"
|
|
},
|
|
{
|
|
"name": "expected_impact",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "text('expected_impact')->nullable()",
|
|
"description": "expected impact"
|
|
},
|
|
{
|
|
"name": "status",
|
|
"type": "character varying(50)",
|
|
"nullable": false,
|
|
"default": "'draft'",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "string('status', 50)->default('draft')",
|
|
"description": "status"
|
|
},
|
|
{
|
|
"name": "is_featured",
|
|
"type": "boolean",
|
|
"nullable": false,
|
|
"default": "false",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "boolean('is_featured')->default(false)",
|
|
"description": "is featured"
|
|
},
|
|
{
|
|
"name": "published_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "timestamp('published_at')->nullable()",
|
|
"description": "published at"
|
|
},
|
|
{
|
|
"name": "last_validated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "timestamp('last_validated_at')->nullable()",
|
|
"description": "last validated at"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "updated at"
|
|
},
|
|
{
|
|
"name": "deleted_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"definition": "softDeletes()",
|
|
"description": "deleted at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php"
|
|
},
|
|
{
|
|
"name": "interest_requests",
|
|
"domain": "Aplicação existente",
|
|
"purpose": "Manifestações de interesse",
|
|
"columns": [
|
|
{
|
|
"name": "id",
|
|
"type": "bigint",
|
|
"nullable": false,
|
|
"default": "nextval('interest_requests_id_seq'::regclass)",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "id()",
|
|
"description": "id"
|
|
},
|
|
{
|
|
"name": "opportunity_id",
|
|
"type": "bigint",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "foreignId('opportunity_id')\n ->nullable()\n ->constrained('opportunities')\n ->cascadeOnUpdate()\n ->nullOnDelete()",
|
|
"description": "opportunity id"
|
|
},
|
|
{
|
|
"name": "reference",
|
|
"type": "character varying(80)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('reference', 80)->unique()",
|
|
"description": "reference"
|
|
},
|
|
{
|
|
"name": "full_name",
|
|
"type": "character varying(150)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('full_name', 150)",
|
|
"description": "full name"
|
|
},
|
|
{
|
|
"name": "email",
|
|
"type": "character varying(150)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('email', 150)",
|
|
"description": "email"
|
|
},
|
|
{
|
|
"name": "phone",
|
|
"type": "character varying(30)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('phone', 30)->nullable()",
|
|
"description": "phone"
|
|
},
|
|
{
|
|
"name": "investor_type",
|
|
"type": "character varying(80)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('investor_type', 80)",
|
|
"description": "investor type"
|
|
},
|
|
{
|
|
"name": "country",
|
|
"type": "character varying(100)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('country', 100)",
|
|
"description": "country"
|
|
},
|
|
{
|
|
"name": "sector_interest",
|
|
"type": "character varying(150)",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('sector_interest', 150)",
|
|
"description": "sector interest"
|
|
},
|
|
{
|
|
"name": "opportunity_reference",
|
|
"type": "character varying(80)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('opportunity_reference', 80)->nullable()",
|
|
"description": "opportunity reference"
|
|
},
|
|
{
|
|
"name": "investment_range",
|
|
"type": "character varying(80)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('investment_range', 80)->nullable()",
|
|
"description": "investment range"
|
|
},
|
|
{
|
|
"name": "message",
|
|
"type": "text",
|
|
"nullable": false,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "text('message')",
|
|
"description": "message"
|
|
},
|
|
{
|
|
"name": "privacy_consent",
|
|
"type": "boolean",
|
|
"nullable": false,
|
|
"default": "false",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "boolean('privacy_consent')->default(false)",
|
|
"description": "privacy consent"
|
|
},
|
|
{
|
|
"name": "consented_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "timestamp('consented_at')->nullable()",
|
|
"description": "consented at"
|
|
},
|
|
{
|
|
"name": "status",
|
|
"type": "character varying(50)",
|
|
"nullable": false,
|
|
"default": "'received'",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('status', 50)->default('received')",
|
|
"description": "status"
|
|
},
|
|
{
|
|
"name": "source_page",
|
|
"type": "character varying(255)",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "string('source_page', 255)->nullable()",
|
|
"description": "source page"
|
|
},
|
|
{
|
|
"name": "ip_address",
|
|
"type": "inet",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "ipAddress('ip_address')->nullable()",
|
|
"description": "ip address"
|
|
},
|
|
{
|
|
"name": "user_agent",
|
|
"type": "text",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "text('user_agent')->nullable()",
|
|
"description": "user agent"
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": "json",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "json('metadata')->nullable()",
|
|
"description": "metadata"
|
|
},
|
|
{
|
|
"name": "reviewed_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "timestamp('reviewed_at')->nullable()",
|
|
"description": "reviewed at"
|
|
},
|
|
{
|
|
"name": "reviewed_by",
|
|
"type": "bigint",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "foreignId('reviewed_by')->nullable()->constrained('users')->nullOnDelete()",
|
|
"description": "reviewed by"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "created at"
|
|
},
|
|
{
|
|
"name": "updated_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "timestamps()",
|
|
"description": "updated at"
|
|
},
|
|
{
|
|
"name": "deleted_at",
|
|
"type": "timestamp(0) without time zone",
|
|
"nullable": true,
|
|
"default": null,
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"definition": "softDeletes()",
|
|
"description": "deleted at"
|
|
}
|
|
],
|
|
"pk": [
|
|
"id"
|
|
],
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php"
|
|
}
|
|
],
|
|
"relationships": [
|
|
{
|
|
"table": "passkeys",
|
|
"column": "user_id",
|
|
"target": "users",
|
|
"target_column": "id",
|
|
"nullable": false,
|
|
"on_delete": "CASCADE",
|
|
"on_update": "NO ACTION",
|
|
"name": "passkeys_user_id_foreign",
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"logical": false
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"column": "sector_id",
|
|
"target": "sectors",
|
|
"target_column": "id",
|
|
"nullable": false,
|
|
"on_delete": "RESTRICT",
|
|
"on_update": "CASCADE",
|
|
"name": "opportunities_sector_id_foreign",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"logical": false
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"column": "opportunity_id",
|
|
"target": "opportunities",
|
|
"target_column": "id",
|
|
"nullable": true,
|
|
"on_delete": "SET NULL",
|
|
"on_update": "CASCADE",
|
|
"name": "interest_requests_opportunity_id_foreign",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"logical": false
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"column": "reviewed_by",
|
|
"target": "users",
|
|
"target_column": "id",
|
|
"nullable": true,
|
|
"on_delete": "SET NULL",
|
|
"on_update": "NO ACTION",
|
|
"name": "interest_requests_reviewed_by_foreign",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"logical": false
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"table": "users",
|
|
"columns": [
|
|
"email"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"name": "users_email_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "sessions",
|
|
"columns": [
|
|
"user_id"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"name": "sessions_user_id_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "sessions",
|
|
"columns": [
|
|
"last_activity"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000000_create_users_table.php",
|
|
"name": "sessions_last_activity_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "cache",
|
|
"columns": [
|
|
"expiration"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"name": "cache_expiration_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "cache_locks",
|
|
"columns": [
|
|
"expiration"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000001_create_cache_table.php",
|
|
"name": "cache_locks_expiration_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "jobs",
|
|
"columns": [
|
|
"queue"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"name": "jobs_queue_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "failed_jobs",
|
|
"columns": [
|
|
"uuid"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"name": "failed_jobs_uuid_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "failed_jobs",
|
|
"columns": [
|
|
"connection",
|
|
"queue",
|
|
"failed_at"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/0001_01_01_000002_create_jobs_table.php",
|
|
"name": "failed_jobs_connection_queue_failed_at_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "passkeys",
|
|
"columns": [
|
|
"credential_id"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"name": "passkeys_credential_id_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "passkeys",
|
|
"columns": [
|
|
"user_id"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2024_01_01_000000_create_passkeys_table.php",
|
|
"name": "passkeys_user_id_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "sectors",
|
|
"columns": [
|
|
"slug"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"name": "sectors_slug_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "sectors",
|
|
"columns": [
|
|
"slug"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"name": "sectors_slug_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "sectors",
|
|
"columns": [
|
|
"is_active"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000001_create_sectors_table.php",
|
|
"name": "sectors_is_active_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"reference"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_reference_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"slug"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_slug_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"sector_id"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_sector_id_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"reference"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_reference_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"slug"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_slug_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"status"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_status_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"is_featured"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_is_featured_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"province"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_province_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "opportunities",
|
|
"columns": [
|
|
"maturity_level"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000002_create_opportunities_table.php",
|
|
"name": "opportunities_maturity_level_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"columns": [
|
|
"reference"
|
|
],
|
|
"unique": true,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"name": "interest_requests_reference_unique",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"columns": [
|
|
"reference"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"name": "interest_requests_reference_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"columns": [
|
|
"email"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"name": "interest_requests_email_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"columns": [
|
|
"status"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"name": "interest_requests_status_index",
|
|
"predicate": null
|
|
},
|
|
{
|
|
"table": "interest_requests",
|
|
"columns": [
|
|
"created_at"
|
|
],
|
|
"unique": false,
|
|
"method": "btree",
|
|
"migration": "database/migrations/2026_01_01_000003_create_interest_requests_table.php",
|
|
"name": "interest_requests_created_at_index",
|
|
"predicate": null
|
|
}
|
|
]
|
|
}
|