mirror of
https://github.com/getnamingo/registry.git
synced 2025-05-14 00:27:03 +02:00
Another PgSQL update
This commit is contained in:
parent
0cec56475a
commit
c256cd9fc9
7 changed files with 173 additions and 171 deletions
|
@ -6,6 +6,7 @@ $dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
|
|||
$dotenv->load();
|
||||
|
||||
// Retrieve database connection details from environment variables
|
||||
$dbDriver = $_ENV['DB_DRIVER'];
|
||||
$dbHost = $_ENV['DB_HOST'];
|
||||
$dbName = $_ENV['DB_DATABASE'];
|
||||
$dbUser = $_ENV['DB_USERNAME'];
|
||||
|
@ -26,12 +27,17 @@ $hashedPassword = password_hash($newPW, PASSWORD_ARGON2ID, $options);
|
|||
|
||||
try {
|
||||
// Create PDO instance
|
||||
$pdo = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8", $dbUser, $dbPass);
|
||||
if ($dbDriver == 'mysql') {
|
||||
$dsn = "mysql:host=$dbHost;dbname=$dbName;charset=utf8";
|
||||
} elseif ($dbDriver == 'pgsql') {
|
||||
$dsn = "pgsql:host=$dbHost;dbname=$dbName";
|
||||
}
|
||||
$pdo = new PDO($dsn, $dbUser, $dbPass);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
// SQL query
|
||||
$sql = "INSERT INTO users (email, password, username, status, verified, resettable, roles_mask, registered, last_login, force_logout, tfa_secret, tfa_enabled, auth_method, backup_codes)
|
||||
VALUES (:email, :password, :username, 0, 1, 1, 0, 1, NULL, 0, NULL, 0, 'password', NULL)";
|
||||
VALUES (:email, :password, :username, 0, 1, 1, 0, 1, NULL, 0, NULL, false, 'password', NULL)";
|
||||
|
||||
// Prepare and execute SQL statement
|
||||
$stmt = $pdo->prepare($sql);
|
||||
|
|
|
@ -13,7 +13,7 @@ elseif (config('default') == 'sqlite') {
|
|||
}
|
||||
// PostgreSQL Connection
|
||||
elseif (config('default') == 'pgsql') {
|
||||
$pdo = new \PDO($config['pgsql']['driver'].':dbname='.$config['pgsql']['database'].';host='.$config['pgsql']['host'].';charset='.$config['pgsql']['charset'].'', $config['pgsql']['username'], $config['pgsql']['password']);
|
||||
$pdo = new \PDO($config['pgsql']['driver'].':dbname='.$config['pgsql']['database'].';host='.$config['pgsql']['host'].';', $config['pgsql']['username'], $config['pgsql']['password']);
|
||||
$db = \Pinga\Db\PdoDatabase::fromPdo($pdo);
|
||||
}
|
||||
// SQL Server Connection
|
||||
|
|
|
@ -43,7 +43,6 @@ return [
|
|||
'database' => $_ENV['DB_DATABASE'] ?? 'db_username',
|
||||
'username' => $_ENV['DB_USERNAME'] ?? 'db_password',
|
||||
'password' => $_ENV['DB_PASSWORD'] ?? '',
|
||||
'charset' => 'utf8',
|
||||
'prefix' => '',
|
||||
'schema' => 'public',
|
||||
'sslmode' => 'prefer',
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
SET search_path TO registry, registryTransaction, registryAudit, public;
|
||||
|
||||
CREATE TABLE registry.launch_phases (
|
||||
CREATE TABLE launch_phases (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"tld_id" INT CHECK ("tld_id" >= 0),
|
||||
"phase_name" VARCHAR(75) DEFAULT NULL,
|
||||
|
@ -20,10 +18,10 @@ BEGIN
|
|||
END;
|
||||
' LANGUAGE 'plpgsql';
|
||||
|
||||
CREATE TRIGGER add_current_date_to_launch_phases BEFORE UPDATE ON registry.launch_phases FOR EACH ROW EXECUTE PROCEDURE
|
||||
CREATE TRIGGER add_current_date_to_launch_phases BEFORE UPDATE ON launch_phases FOR EACH ROW EXECUTE PROCEDURE
|
||||
update_phases();
|
||||
|
||||
CREATE TABLE registry.domain_tld (
|
||||
CREATE TABLE domain_tld (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"tld" varchar(32) NOT NULL,
|
||||
"idn_table" varchar(255) NOT NULL,
|
||||
|
@ -32,13 +30,13 @@ CREATE TABLE registry.domain_tld (
|
|||
unique ("tld")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.settings (
|
||||
CREATE TABLE settings (
|
||||
"name" varchar(64) NOT NULL,
|
||||
"value" varchar(255) default NULL,
|
||||
PRIMARY KEY ("name")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_price (
|
||||
CREATE TABLE domain_price (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
|
||||
"command" varchar CHECK ("command" IN ( 'create','renew','transfer' )) NOT NULL default 'create',
|
||||
|
@ -56,14 +54,14 @@ CREATE TABLE registry.domain_price (
|
|||
unique ("tldid", "command")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_restore_price (
|
||||
CREATE TABLE domain_restore_price (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
|
||||
"price" decimal(10,2) NOT NULL default '0.00',
|
||||
unique ("tldid")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.allocation_tokens (
|
||||
CREATE TABLE allocation_tokens (
|
||||
"token" VARCHAR(255) NOT NULL,
|
||||
"domain_name" VARCHAR(255),
|
||||
"tokenStatus" VARCHAR(100),
|
||||
|
@ -78,21 +76,21 @@ CREATE TABLE registry.allocation_tokens (
|
|||
PRIMARY KEY (token)
|
||||
);
|
||||
|
||||
CREATE TABLE registry.error_log (
|
||||
CREATE TABLE error_log (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"log" TEXT NOT NULL,
|
||||
"date" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE registry.reserved_domain_names (
|
||||
CREATE TABLE reserved_domain_names (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(68) NOT NULL,
|
||||
"type" varchar CHECK ("type" IN ( 'reserved','restricted' )) NOT NULL default 'reserved',
|
||||
unique ("name")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.registrar (
|
||||
CREATE TABLE registrar (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(255) NOT NULL,
|
||||
"iana_id" int DEFAULT NULL,
|
||||
|
@ -126,17 +124,17 @@ END;
|
|||
' LANGUAGE 'plpgsql';
|
||||
|
||||
-- before INSERT is handled by 'default CURRENT_TIMESTAMP'
|
||||
CREATE TRIGGER add_current_date_to_registrar BEFORE UPDATE ON registry.registrar FOR EACH ROW EXECUTE PROCEDURE
|
||||
CREATE TRIGGER add_current_date_to_registrar BEFORE UPDATE ON registrar FOR EACH ROW EXECUTE PROCEDURE
|
||||
update_registrar();
|
||||
|
||||
CREATE TABLE registry.registrar_whitelist (
|
||||
CREATE TABLE registrar_whitelist (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"addr" varchar(45) NOT NULL,
|
||||
unique ("registrar_id", "addr")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.registrar_contact (
|
||||
CREATE TABLE registrar_contact (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"type" varchar CHECK ("type" IN ( 'owner','admin','billing','tech','abuse' )) NOT NULL default 'admin',
|
||||
|
@ -158,14 +156,14 @@ CREATE TABLE registry.registrar_contact (
|
|||
unique ("registrar_id", "type")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.registrar_ote (
|
||||
CREATE TABLE registrar_ote (
|
||||
"registrar_id" integer NOT NULL,
|
||||
"command" varchar(75) NOT NULL,
|
||||
"result" int NOT NULL,
|
||||
CONSTRAINT test UNIQUE ("registrar_id", "command", "result")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.poll (
|
||||
CREATE TABLE poll (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"qdate" timestamp(3) without time zone NOT NULL,
|
||||
|
@ -185,7 +183,7 @@ CREATE TABLE registry.poll (
|
|||
"availablecredit" decimal(12,2) default '0.00'
|
||||
);
|
||||
|
||||
CREATE TABLE registry.payment_history (
|
||||
CREATE TABLE payment_history (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"date" timestamp(3) without time zone NOT NULL,
|
||||
|
@ -193,7 +191,7 @@ CREATE TABLE registry.payment_history (
|
|||
"amount" decimal(12,2) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE registry.statement (
|
||||
CREATE TABLE statement (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" int CHECK ("registrar_id" >= 0) NOT NULL,
|
||||
"date" timestamp(3) without time zone NOT NULL,
|
||||
|
@ -205,7 +203,7 @@ CREATE TABLE registry.statement (
|
|||
"amount" decimal(12,2) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE registry.invoices (
|
||||
CREATE TABLE invoices (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"registrar_id" INT,
|
||||
"invoice_number" varchar(25) DEFAULT NULL,
|
||||
|
@ -219,7 +217,7 @@ CREATE TABLE registry.invoices (
|
|||
"updated_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE registry.contact (
|
||||
CREATE TABLE contact (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"identifier" varchar(255) NOT NULL,
|
||||
"voice" varchar(17) default NULL,
|
||||
|
@ -246,7 +244,7 @@ CREATE TABLE registry.contact (
|
|||
unique ("identifier")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.contact_postalinfo (
|
||||
CREATE TABLE contact_postalinfo (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
|
||||
"type" varchar CHECK ("type" IN ( 'int','loc' )) NOT NULL default 'int',
|
||||
|
@ -268,7 +266,7 @@ CREATE TABLE registry.contact_postalinfo (
|
|||
unique ("contact_id", "type")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.contact_authinfo (
|
||||
CREATE TABLE contact_authinfo (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
|
||||
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
|
||||
|
@ -276,14 +274,14 @@ CREATE TABLE registry.contact_authinfo (
|
|||
unique ("contact_id")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.contact_status (
|
||||
CREATE TABLE contact_status (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
|
||||
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientTransferProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
|
||||
unique ("contact_id", "status")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain (
|
||||
CREATE TABLE domain (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(68) NOT NULL,
|
||||
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
|
||||
|
@ -331,7 +329,7 @@ CREATE TABLE registry.domain (
|
|||
unique ("name")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.application (
|
||||
CREATE TABLE application (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(68) NOT NULL,
|
||||
"tldid" int CHECK ("tldid" >= 0) NOT NULL,
|
||||
|
@ -365,7 +363,7 @@ CREATE TABLE registry.application (
|
|||
"tm_phase" text DEFAULT 'NONE'::text NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_contact_map (
|
||||
CREATE TABLE domain_contact_map (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
|
||||
|
@ -373,7 +371,7 @@ CREATE TABLE registry.domain_contact_map (
|
|||
unique ("domain_id", "contact_id", "type")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.application_contact_map (
|
||||
CREATE TABLE application_contact_map (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"contact_id" int CHECK ("contact_id" >= 0) NOT NULL,
|
||||
|
@ -381,7 +379,7 @@ CREATE TABLE registry.application_contact_map (
|
|||
unique ("domain_id", "contact_id", "type")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_authinfo (
|
||||
CREATE TABLE domain_authinfo (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"authtype" varchar CHECK ("authtype" IN ( 'pw','ext' )) NOT NULL default 'pw',
|
||||
|
@ -389,21 +387,21 @@ CREATE TABLE registry.domain_authinfo (
|
|||
unique ("domain_id")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_status (
|
||||
CREATE TABLE domain_status (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientHold','clientRenewProhibited','clientTransferProhibited','clientUpdateProhibited','inactive','ok','pendingCreate','pendingDelete','pendingRenew','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverHold','serverRenewProhibited','serverTransferProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
|
||||
unique ("domain_id", "status")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.application_status (
|
||||
CREATE TABLE application_status (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"status" varchar CHECK ("status" IN ( 'pendingValidation','validated','invalid','pendingAllocation','allocated','rejected','custom' )) NOT NULL default 'pendingValidation',
|
||||
unique ("domain_id", "status")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.secdns (
|
||||
CREATE TABLE secdns (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"maxsiglife" int CHECK ("maxsiglife" >= 0) default '604800',
|
||||
|
@ -419,7 +417,7 @@ CREATE TABLE registry.secdns (
|
|||
unique ("domain_id", "digest")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.host (
|
||||
CREATE TABLE host (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(255) NOT NULL,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) default NULL,
|
||||
|
@ -432,21 +430,21 @@ CREATE TABLE registry.host (
|
|||
unique ("name")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_host_map (
|
||||
CREATE TABLE domain_host_map (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
|
||||
unique ("domain_id", "host_id")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.application_host_map (
|
||||
CREATE TABLE application_host_map (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_id" int CHECK ("domain_id" >= 0) NOT NULL,
|
||||
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
|
||||
unique ("domain_id", "host_id")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.host_addr (
|
||||
CREATE TABLE host_addr (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
|
||||
"addr" varchar(45) NOT NULL,
|
||||
|
@ -454,14 +452,14 @@ CREATE TABLE registry.host_addr (
|
|||
unique ("host_id", "addr", "ip")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.host_status (
|
||||
CREATE TABLE host_status (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"host_id" int CHECK ("host_id" >= 0) NOT NULL,
|
||||
"status" varchar CHECK ("status" IN ( 'clientDeleteProhibited','clientUpdateProhibited','linked','ok','pendingCreate','pendingDelete','pendingTransfer','pendingUpdate','serverDeleteProhibited','serverUpdateProhibited' )) NOT NULL default 'ok',
|
||||
unique ("host_id", "status")
|
||||
);
|
||||
|
||||
CREATE TABLE registry.domain_auto_approve_transfer (
|
||||
CREATE TABLE domain_auto_approve_transfer (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" varchar(68) NOT NULL,
|
||||
"registrant" int CHECK ("registrant" >= 0) default NULL,
|
||||
|
@ -480,7 +478,7 @@ CREATE TABLE registry.domain_auto_approve_transfer (
|
|||
"transfer_exdate" timestamp(3) without time zone default NULL
|
||||
);
|
||||
|
||||
CREATE TABLE registry.contact_auto_approve_transfer (
|
||||
CREATE TABLE contact_auto_approve_transfer (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"identifier" varchar(255) NOT NULL,
|
||||
"voice" varchar(17) default NULL,
|
||||
|
@ -506,7 +504,7 @@ CREATE TABLE registry.contact_auto_approve_transfer (
|
|||
"disclose_email" varchar CHECK ("disclose_email" IN ( '0','1' )) NOT NULL default '1'
|
||||
);
|
||||
|
||||
CREATE TABLE registry.statistics (
|
||||
CREATE TABLE statistics (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"date" date NOT NULL,
|
||||
"total_domains" int CHECK ("total_domains" >= 0) NOT NULL DEFAULT '0',
|
||||
|
@ -518,7 +516,7 @@ CREATE TABLE registry.statistics (
|
|||
unique ("date")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users (
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
|
||||
"email" VARCHAR(249) UNIQUE NOT NULL,
|
||||
"password" VARCHAR(255) NOT NULL,
|
||||
|
@ -536,8 +534,8 @@ CREATE TABLE IF NOT EXISTS registry.users (
|
|||
"backup_codes" TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_audit (
|
||||
"user_id" SERIAL PRIMARY KEY CHECK ("user_id" >= 0),
|
||||
CREATE TABLE IF NOT EXISTS users_audit (
|
||||
"user_id" INT NOT NULL,
|
||||
"user_event" VARCHAR(255) NOT NULL,
|
||||
"user_resource" VARCHAR(255) DEFAULT NULL,
|
||||
"user_agent" VARCHAR(255) NOT NULL,
|
||||
|
@ -546,10 +544,10 @@ CREATE TABLE IF NOT EXISTS registry.users_audit (
|
|||
"event_time" TIMESTAMP(3) NOT NULL,
|
||||
"user_data" JSONB DEFAULT NULL
|
||||
);
|
||||
CREATE INDEX idx_user_event ON registry.users_audit (user_event);
|
||||
CREATE INDEX idx_user_ip ON registry.users_audit (user_ip);
|
||||
CREATE INDEX idx_user_event ON users_audit (user_event);
|
||||
CREATE INDEX idx_user_ip ON users_audit (user_ip);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_confirmations (
|
||||
CREATE TABLE IF NOT EXISTS users_confirmations (
|
||||
"id" SERIAL PRIMARY KEY CHECK ("id" >= 0),
|
||||
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
|
||||
"email" VARCHAR(249) NOT NULL,
|
||||
|
@ -557,36 +555,36 @@ CREATE TABLE IF NOT EXISTS registry.users_confirmations (
|
|||
"token" VARCHAR(255) NOT NULL,
|
||||
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS "email_expires" ON registry.users_confirmations ("email", "expires");
|
||||
CREATE INDEX IF NOT EXISTS "user_id" ON registry.users_confirmations ("user_id");
|
||||
CREATE INDEX IF NOT EXISTS "email_expires" ON users_confirmations ("email", "expires");
|
||||
CREATE INDEX IF NOT EXISTS "user_id" ON users_confirmations ("user_id");
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_remembered (
|
||||
CREATE TABLE IF NOT EXISTS users_remembered (
|
||||
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
|
||||
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
|
||||
"selector" VARCHAR(24) UNIQUE NOT NULL,
|
||||
"token" VARCHAR(255) NOT NULL,
|
||||
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS "user_id" ON registry.users_remembered ("user_id");
|
||||
CREATE INDEX IF NOT EXISTS "re_user_id" ON users_remembered ("user_id");
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_resets (
|
||||
CREATE TABLE IF NOT EXISTS users_resets (
|
||||
"id" BIGSERIAL PRIMARY KEY CHECK ("id" >= 0),
|
||||
"user_id" INTEGER NOT NULL CHECK ("user_id" >= 0),
|
||||
"selector" VARCHAR(20) UNIQUE NOT NULL,
|
||||
"token" VARCHAR(255) NOT NULL,
|
||||
"expires" INTEGER NOT NULL CHECK ("expires" >= 0)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS "user_expires" ON registry.users_resets ("user_id", "expires");
|
||||
CREATE INDEX IF NOT EXISTS "user_expires" ON users_resets ("user_id", "expires");
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_throttling (
|
||||
CREATE TABLE IF NOT EXISTS users_throttling (
|
||||
"bucket" VARCHAR(44) PRIMARY KEY,
|
||||
"tokens" REAL NOT NULL CHECK ("tokens" >= 0),
|
||||
"replenished_at" INTEGER NOT NULL CHECK ("replenished_at" >= 0),
|
||||
"expires_at" INTEGER NOT NULL CHECK ("expires_at" >= 0)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS "expires_at" ON registry.users_throttling ("expires_at");
|
||||
CREATE INDEX IF NOT EXISTS "expires_at" ON users_throttling ("expires_at");
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.users_webauthn (
|
||||
CREATE TABLE IF NOT EXISTS users_webauthn (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"user_id" INTEGER NOT NULL,
|
||||
"credential_id" BYTEA NOT NULL,
|
||||
|
@ -598,12 +596,12 @@ CREATE TABLE IF NOT EXISTS registry.users_webauthn (
|
|||
"last_used_at" TIMESTAMP(3) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS registry.registrar_users (
|
||||
CREATE TABLE IF NOT EXISTS registrar_users (
|
||||
"registrar_id" int NOT NULL PRIMARY KEY,
|
||||
"user_id" int NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE registry.urs_actions (
|
||||
CREATE TABLE urs_actions (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_name" VARCHAR(255) NOT NULL,
|
||||
"urs_provider" VARCHAR(255) NOT NULL,
|
||||
|
@ -616,7 +614,7 @@ CREATE TYPE deposit_type_enum AS ENUM ('Full', 'Incremental', 'Differential');
|
|||
CREATE TYPE status_enum AS ENUM ('Deposited', 'Retrieved', 'Failed');
|
||||
CREATE TYPE verification_status_enum AS ENUM ('Verified', 'Failed', 'Pending');
|
||||
|
||||
CREATE TABLE registry.rde_escrow_deposits (
|
||||
CREATE TABLE rde_escrow_deposits (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"deposit_id" VARCHAR(255) UNIQUE, -- Unique deposit identifier
|
||||
"deposit_date" DATE NOT NULL,
|
||||
|
@ -636,7 +634,7 @@ CREATE TABLE registry.rde_escrow_deposits (
|
|||
|
||||
CREATE TYPE report_status_enum AS ENUM ('Pending', 'Submitted', 'Accepted', 'Rejected');
|
||||
|
||||
CREATE TABLE registry.icann_reports (
|
||||
CREATE TABLE icann_reports (
|
||||
"id" serial8 PRIMARY KEY,
|
||||
"report_date" DATE NOT NULL,
|
||||
"type" VARCHAR(255) NOT NULL,
|
||||
|
@ -646,7 +644,7 @@ CREATE TABLE registry.icann_reports (
|
|||
"notes" TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE registry.promotion_pricing (
|
||||
CREATE TABLE promotion_pricing (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"tld_id" INT CHECK ("tld_id" >= 0),
|
||||
"promo_name" varchar(255) NOT NULL,
|
||||
|
@ -672,14 +670,14 @@ CREATE TABLE registry.promotion_pricing (
|
|||
|
||||
CREATE INDEX idx_promotion_pricing_tld_id ON promotion_pricing (tld_id);
|
||||
|
||||
CREATE TABLE registry.premium_domain_categories (
|
||||
CREATE TABLE premium_domain_categories (
|
||||
"category_id" serial8 PRIMARY KEY,
|
||||
"category_name" VARCHAR(255) NOT NULL,
|
||||
"category_price" NUMERIC(10, 2) NOT NULL,
|
||||
UNIQUE (category_name)
|
||||
);
|
||||
|
||||
CREATE TABLE registry.premium_domain_pricing (
|
||||
CREATE TABLE premium_domain_pricing (
|
||||
"id" serial8 PRIMARY KEY,
|
||||
"domain_name" VARCHAR(255) NOT NULL,
|
||||
"tld_id" INT CHECK ("tld_id" >= 0) NOT NULL,
|
||||
|
@ -690,13 +688,13 @@ CREATE TABLE registry.premium_domain_pricing (
|
|||
CREATE TYPE ticket_status AS ENUM ('Open', 'In Progress', 'Resolved', 'Closed');
|
||||
CREATE TYPE ticket_priority AS ENUM ('Low', 'Medium', 'High', 'Critical');
|
||||
|
||||
CREATE TABLE registry.ticket_categories (
|
||||
CREATE TABLE ticket_categories (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"name" VARCHAR(255) NOT NULL,
|
||||
"description" TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE registry.support_tickets (
|
||||
CREATE TABLE support_tickets (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"user_id" INTEGER NOT NULL,
|
||||
"category_id" INTEGER NOT NULL,
|
||||
|
@ -713,7 +711,7 @@ CREATE TABLE registry.support_tickets (
|
|||
"last_updated" TIMESTAMP(3) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE registry.ticket_responses (
|
||||
CREATE TABLE ticket_responses (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"ticket_id" INTEGER NOT NULL,
|
||||
"responder_id" INTEGER NOT NULL,
|
||||
|
@ -721,7 +719,7 @@ CREATE TABLE registry.ticket_responses (
|
|||
"date_created" TIMESTAMP(3) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE registry.tmch_claims (
|
||||
CREATE TABLE tmch_claims (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"domain_label" VARCHAR(100) NOT NULL,
|
||||
"claim_key" VARCHAR(200) NOT NULL,
|
||||
|
@ -729,42 +727,42 @@ CREATE TABLE registry.tmch_claims (
|
|||
CONSTRAINT tmch_claims_unique UNIQUE (claim_key, domain_label)
|
||||
);
|
||||
|
||||
CREATE TABLE registry.tmch_revocation (
|
||||
CREATE TABLE tmch_revocation (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"smd_id" VARCHAR(100) NOT NULL,
|
||||
"revocation_time" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT tmch_revocation_unique UNIQUE (smd_id)
|
||||
);
|
||||
|
||||
CREATE TABLE registry.tmch_crl (
|
||||
CREATE TABLE tmch_crl (
|
||||
"id" SERIAL PRIMARY KEY,
|
||||
"content" TEXT NOT NULL,
|
||||
"url" VARCHAR(255) NOT NULL,
|
||||
"update_timestamp" TIMESTAMP(3) NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO registry.domain_tld VALUES('1','.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-)(\.(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-))*$/i','0',NULL);
|
||||
INSERT INTO registry.domain_tld VALUES('2','.COM.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-)(\.(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-))*$/i','0',NULL);
|
||||
INSERT INTO domain_tld VALUES('1','.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-)(\.(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-))*$/i','0',NULL);
|
||||
INSERT INTO domain_tld VALUES('2','.COM.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-)(\.(?!-)(?!.*--)[A-Z0-9-]{1,63}(?<!-))*$/i','0',NULL);
|
||||
|
||||
INSERT INTO registry.domain_price VALUES (E'1',E'1',E'create',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO registry.domain_price VALUES (E'2',E'1',E'renew',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO registry.domain_price VALUES (E'3',E'1',E'transfer',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO registry.domain_price VALUES (E'4',E'2',E'create',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO registry.domain_price VALUES (E'5',E'2',E'renew',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO registry.domain_price VALUES (E'6',E'2',E'transfer',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'1',E'1',E'create',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'2',E'1',E'renew',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'3',E'1',E'transfer',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'4',E'2',E'create',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'5',E'2',E'renew',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
INSERT INTO domain_price VALUES (E'6',E'2',E'transfer',E'0.00',E'5.00',E'10.00',E'15.00',E'20.00',E'25.00',E'30.00',E'35.00',E'40.00',E'45.00',E'50.00');
|
||||
|
||||
INSERT INTO registry.domain_restore_price VALUES (E'1',E'1',E'50.00');
|
||||
INSERT INTO registry.domain_restore_price VALUES (E'2',E'2',E'50.00');
|
||||
INSERT INTO domain_restore_price VALUES (E'1',E'1',E'50.00');
|
||||
INSERT INTO domain_restore_price VALUES (E'2',E'2',E'50.00');
|
||||
|
||||
INSERT INTO registry.registrar ("name", "clid", "pw", "prefix", "email", "whois_server", "rdap_server", "url", "abuse_email", "abuse_phone", "accountbalance", "creditlimit", "creditthreshold", "thresholdtype", "crdate", "lastupdate") VALUES (E'LeoNet LLC',E'leonet',E'$argon2id$v=19$m=131072,t=6,p=4$M0ViOHhzTWFtQW5YSGZ2MA$g2pKb+PEYtfs4QwLmf2iUtPM4+7evuqYQFp6yqGZmQg',E'LN',E'info@leonet.test',E'whois.leonet.test',E'rdap.leonet.test',E'https://www.leonet.test',E'abuse@leonet.test',E'+380.325050',E'100000.00',E'100000.00',E'500.00',E'fixed',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
|
||||
INSERT INTO registry.registrar ("name", "clid", "pw", "prefix", "email", "whois_server", "rdap_server", "url", "abuse_email", "abuse_phone", "accountbalance", "creditlimit", "creditthreshold", "thresholdtype", "crdate", "lastupdate") VALUES (E'Nord Registrar AB',E'nordregistrar',E'$argon2id$v=19$m=131072,t=6,p=4$MU9Eei5UMjA0M2cxYjd3bg$2yBHTWVVY4xQlMGhnhol9MRbVyVQg8qkcZ6cpdeID1U',E'NR',E'info@nordregistrar.test',E'whois.nordregistrar.test',E'rdap.nordregistrar.test',E'https://www.nordregistrar.test',E'abuse@nordregistrar.test',E'+46.80203',E'100000.00',E'100000.00',E'500.00',E'fixed',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
|
||||
INSERT INTO registrar ("name", "clid", "pw", "prefix", "email", "whois_server", "rdap_server", "url", "abuse_email", "abuse_phone", "accountbalance", "creditlimit", "creditthreshold", "thresholdtype", "crdate", "lastupdate") VALUES (E'LeoNet LLC',E'leonet',E'$argon2id$v=19$m=131072,t=6,p=4$M0ViOHhzTWFtQW5YSGZ2MA$g2pKb+PEYtfs4QwLmf2iUtPM4+7evuqYQFp6yqGZmQg',E'LN',E'info@leonet.test',E'whois.leonet.test',E'rdap.leonet.test',E'https://www.leonet.test',E'abuse@leonet.test',E'+380.325050',E'100000.00',E'100000.00',E'500.00',E'fixed',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
|
||||
INSERT INTO registrar ("name", "clid", "pw", "prefix", "email", "whois_server", "rdap_server", "url", "abuse_email", "abuse_phone", "accountbalance", "creditlimit", "creditthreshold", "thresholdtype", "crdate", "lastupdate") VALUES (E'Nord Registrar AB',E'nordregistrar',E'$argon2id$v=19$m=131072,t=6,p=4$MU9Eei5UMjA0M2cxYjd3bg$2yBHTWVVY4xQlMGhnhol9MRbVyVQg8qkcZ6cpdeID1U',E'NR',E'info@nordregistrar.test',E'whois.nordregistrar.test',E'rdap.nordregistrar.test',E'https://www.nordregistrar.test',E'abuse@nordregistrar.test',E'+46.80203',E'100000.00',E'100000.00',E'500.00',E'fixed',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);
|
||||
|
||||
INSERT INTO registry.registrar_whitelist ("registrar_id", "addr") VALUES
|
||||
INSERT INTO registrar_whitelist ("registrar_id", "addr") VALUES
|
||||
('1', '1.2.3.4');
|
||||
INSERT INTO registry.registrar_whitelist ("registrar_id", "addr") VALUES
|
||||
INSERT INTO registrar_whitelist ("registrar_id", "addr") VALUES
|
||||
('2', '5.6.7.8');
|
||||
|
||||
INSERT INTO registry.registrar_contact (id, registrar_id, type, title, first_name, middle_name, last_name, org, street1, street2, street3, city, sp, pc, cc, voice, fax, email) VALUES
|
||||
INSERT INTO registrar_contact (id, registrar_id, type, title, first_name, middle_name, last_name, org, street1, street2, street3, city, sp, pc, cc, voice, fax, email) VALUES
|
||||
('1', '1', 'owner', NULL, 'Test', NULL, 'Name', '', '', NULL, NULL, 'Lviv', '', '', 'ua', '', NULL, 'test@namingo.org'),
|
||||
('2', '1', 'billing', NULL, 'Test', NULL, 'Name', '', '', NULL, NULL, 'Lviv', '', '', 'ua', '', NULL, 'test@namingo.org'),
|
||||
('3', '1', 'abuse', NULL, 'Test', NULL, 'Name', '', '', NULL, NULL, 'Lviv', '', '', 'ua', '', NULL, 'test@namingo.org'),
|
||||
|
@ -772,7 +770,7 @@ INSERT INTO registry.registrar_contact (id, registrar_id, type, title, first_nam
|
|||
('5', '2', 'billing', NULL, 'Test', NULL, 'Name', '', '', NULL, NULL, 'Lviv', '', '', 'ua', '', NULL, 'test@namingo.org'),
|
||||
('6', '2', 'abuse', NULL, 'Test', NULL, 'Name', '', '', NULL, NULL, 'Lviv', '', '', 'ua', '', NULL, 'test@namingo.org');
|
||||
|
||||
INSERT INTO registry.ticket_categories (name, description) VALUES
|
||||
INSERT INTO ticket_categories (name, description) VALUES
|
||||
('Domain Transfer', 'Issues related to domain transfers between registrars'),
|
||||
('Registration Errors', 'Errors or issues encountered during domain registration'),
|
||||
('Billing & Payments', 'Questions or issues related to invoicing, payments, or account balances'),
|
||||
|
@ -786,7 +784,7 @@ INSERT INTO registry.ticket_categories (name, description) VALUES
|
|||
('RDAP Updates', 'Issues or queries related to the Registration Data Access Protocol (RDAP) updates'),
|
||||
('URS Cases', 'Reports of URS cases');
|
||||
|
||||
INSERT INTO registry.settings (name, value) VALUES
|
||||
INSERT INTO settings (name, value) VALUES
|
||||
('dns-tcp-queries-received', '0'),
|
||||
('dns-tcp-queries-responded', '0'),
|
||||
('dns-udp-queries-received', '0'),
|
||||
|
@ -806,76 +804,55 @@ INSERT INTO registry.settings (name, value) VALUES
|
|||
('whois_server', 'whois.example.com'),
|
||||
('rdap_server', 'https://rdap.example.com');
|
||||
|
||||
ALTER TABLE registry.domain_tld ADD FOREIGN KEY (launch_phase_id) REFERENCES registry.launch_phases(id);
|
||||
ALTER TABLE registry.launch_phases ADD FOREIGN KEY (tld_id) REFERENCES registry.domain_tld(id);
|
||||
ALTER TABLE registry.error_log ADD FOREIGN KEY (registrar_id) REFERENCES registry.registrar(id);
|
||||
ALTER TABLE registry.invoices ADD FOREIGN KEY (registrar_id) REFERENCES registry.registrar(id);
|
||||
ALTER TABLE registry.invoices ADD FOREIGN KEY (billing_contact_id) REFERENCES registry.registrar_contact(id);
|
||||
ALTER TABLE registry.users_webauthn ADD FOREIGN KEY (user_id) REFERENCES users(id);
|
||||
ALTER TABLE registry.domain_price ADD FOREIGN KEY ("tldid") REFERENCES registry.domain_tld ("id");
|
||||
ALTER TABLE registry.domain_restore_price ADD FOREIGN KEY ("tldid") REFERENCES registry.domain_tld ("id");
|
||||
ALTER TABLE registry.registrar_whitelist ADD FOREIGN KEY ("registrar_id") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.registrar_users ADD FOREIGN KEY (registrar_id) REFERENCES registry.registrar(id) ON DELETE CASCADE;
|
||||
ALTER TABLE registry.registrar_users ADD FOREIGN KEY (user_id) REFERENCES registry.users(id) ON DELETE CASCADE;
|
||||
ALTER TABLE registry.registrar_contact ADD FOREIGN KEY ("registrar_id") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.poll ADD FOREIGN KEY ("registrar_id") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.payment_history ADD FOREIGN KEY ("registrar_id") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.statement ADD FOREIGN KEY ("registrar_id") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.contact ADD FOREIGN KEY ("clid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.contact ADD FOREIGN KEY ("crid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.contact ADD FOREIGN KEY ("upid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.contact_postalinfo ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.contact_authinfo ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.contact_status ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("clid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("crid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("upid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("registrant") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("reid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("acid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.domain ADD FOREIGN KEY ("tldid") REFERENCES registry.domain_tld ("id");
|
||||
ALTER TABLE registry.domain_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.domain_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.application_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
|
||||
ALTER TABLE registry.application_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES registry.contact ("id");
|
||||
ALTER TABLE registry.domain_authinfo ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.domain_status ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.application_status ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
|
||||
ALTER TABLE registry.secdns ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.host ADD FOREIGN KEY ("clid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.host ADD FOREIGN KEY ("crid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.host ADD FOREIGN KEY ("upid") REFERENCES registry.registrar ("id");
|
||||
ALTER TABLE registry.host ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.domain_host_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.domain ("id");
|
||||
ALTER TABLE registry.domain_host_map ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
|
||||
ALTER TABLE registry.application_host_map ADD FOREIGN KEY ("domain_id") REFERENCES registry.application ("id");
|
||||
ALTER TABLE registry.application_host_map ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
|
||||
ALTER TABLE registry.host_addr ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
|
||||
ALTER TABLE registry.host_status ADD FOREIGN KEY ("host_id") REFERENCES registry.host ("id");
|
||||
ALTER TABLE registry.promotion_pricing ADD FOREIGN KEY ("tld_id") REFERENCES registry.domain_tld("id");
|
||||
ALTER TABLE registry.premium_domain_pricing ADD FOREIGN KEY ("tld_id") REFERENCES registry.domain_tld("id");
|
||||
ALTER TABLE registry.premium_domain_pricing ADD FOREIGN KEY ("category_id") REFERENCES registry.premium_domain_categories("category_id");
|
||||
ALTER TABLE registry.support_tickets ADD FOREIGN KEY ("user_id") REFERENCES registry.users(id);
|
||||
ALTER TABLE registry.support_tickets ADD FOREIGN KEY ("category_id") REFERENCES registry.ticket_categories(id);
|
||||
ALTER TABLE registry.ticket_responses ADD FOREIGN KEY ("ticket_id") REFERENCES registry.support_tickets(id);
|
||||
|
||||
CREATE TABLE registryTransaction.transaction_identifier (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
registrar_id INT NOT NULL,
|
||||
clTRID VARCHAR(64),
|
||||
clTRIDframe TEXT,
|
||||
cldate TIMESTAMP(3) WITHOUT TIME ZONE,
|
||||
clmicrosecond INT,
|
||||
cmd VARCHAR(10) CHECK (cmd IN ('login','logout','check','info','poll','transfer','create','delete','renew','update')),
|
||||
obj_type VARCHAR(10) CHECK (obj_type IN ('domain','host','contact')),
|
||||
obj_id TEXT,
|
||||
code SMALLINT,
|
||||
msg VARCHAR(255),
|
||||
svTRID VARCHAR(64),
|
||||
svTRIDframe TEXT,
|
||||
svdate TIMESTAMP(3) WITHOUT TIME ZONE,
|
||||
svmicrosecond INT,
|
||||
CONSTRAINT unique_clTRID UNIQUE (clTRID),
|
||||
CONSTRAINT unique_svTRID UNIQUE (svTRID),
|
||||
CONSTRAINT transaction_identifier_ibfk_1 FOREIGN KEY (registrar_id) REFERENCES registry.registrar (id) ON DELETE RESTRICT
|
||||
);
|
||||
ALTER TABLE domain_tld ADD FOREIGN KEY (launch_phase_id) REFERENCES launch_phases(id);
|
||||
ALTER TABLE launch_phases ADD FOREIGN KEY (tld_id) REFERENCES domain_tld(id);
|
||||
ALTER TABLE error_log ADD FOREIGN KEY (registrar_id) REFERENCES registrar(id);
|
||||
ALTER TABLE invoices ADD FOREIGN KEY (registrar_id) REFERENCES registrar(id);
|
||||
ALTER TABLE invoices ADD FOREIGN KEY (billing_contact_id) REFERENCES registrar_contact(id);
|
||||
ALTER TABLE users_webauthn ADD FOREIGN KEY (user_id) REFERENCES users(id);
|
||||
ALTER TABLE domain_price ADD FOREIGN KEY ("tldid") REFERENCES domain_tld ("id");
|
||||
ALTER TABLE domain_restore_price ADD FOREIGN KEY ("tldid") REFERENCES domain_tld ("id");
|
||||
ALTER TABLE registrar_whitelist ADD FOREIGN KEY ("registrar_id") REFERENCES registrar ("id");
|
||||
ALTER TABLE registrar_users ADD FOREIGN KEY (registrar_id) REFERENCES registrar(id) ON DELETE CASCADE;
|
||||
ALTER TABLE registrar_users ADD FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
|
||||
ALTER TABLE registrar_contact ADD FOREIGN KEY ("registrar_id") REFERENCES registrar ("id");
|
||||
ALTER TABLE poll ADD FOREIGN KEY ("registrar_id") REFERENCES registrar ("id");
|
||||
ALTER TABLE payment_history ADD FOREIGN KEY ("registrar_id") REFERENCES registrar ("id");
|
||||
ALTER TABLE statement ADD FOREIGN KEY ("registrar_id") REFERENCES registrar ("id");
|
||||
ALTER TABLE contact ADD FOREIGN KEY ("clid") REFERENCES registrar ("id");
|
||||
ALTER TABLE contact ADD FOREIGN KEY ("crid") REFERENCES registrar ("id");
|
||||
ALTER TABLE contact ADD FOREIGN KEY ("upid") REFERENCES registrar ("id");
|
||||
ALTER TABLE contact_postalinfo ADD FOREIGN KEY ("contact_id") REFERENCES contact ("id");
|
||||
ALTER TABLE contact_authinfo ADD FOREIGN KEY ("contact_id") REFERENCES contact ("id");
|
||||
ALTER TABLE contact_status ADD FOREIGN KEY ("contact_id") REFERENCES contact ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("clid") REFERENCES registrar ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("crid") REFERENCES registrar ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("upid") REFERENCES registrar ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("registrant") REFERENCES contact ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("reid") REFERENCES registrar ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("acid") REFERENCES registrar ("id");
|
||||
ALTER TABLE domain ADD FOREIGN KEY ("tldid") REFERENCES domain_tld ("id");
|
||||
ALTER TABLE domain_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE domain_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES contact ("id");
|
||||
ALTER TABLE application_contact_map ADD FOREIGN KEY ("domain_id") REFERENCES application ("id");
|
||||
ALTER TABLE application_contact_map ADD FOREIGN KEY ("contact_id") REFERENCES contact ("id");
|
||||
ALTER TABLE domain_authinfo ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE domain_status ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE application_status ADD FOREIGN KEY ("domain_id") REFERENCES application ("id");
|
||||
ALTER TABLE secdns ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE host ADD FOREIGN KEY ("clid") REFERENCES registrar ("id");
|
||||
ALTER TABLE host ADD FOREIGN KEY ("crid") REFERENCES registrar ("id");
|
||||
ALTER TABLE host ADD FOREIGN KEY ("upid") REFERENCES registrar ("id");
|
||||
ALTER TABLE host ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE domain_host_map ADD FOREIGN KEY ("domain_id") REFERENCES domain ("id");
|
||||
ALTER TABLE domain_host_map ADD FOREIGN KEY ("host_id") REFERENCES host ("id");
|
||||
ALTER TABLE application_host_map ADD FOREIGN KEY ("domain_id") REFERENCES application ("id");
|
||||
ALTER TABLE application_host_map ADD FOREIGN KEY ("host_id") REFERENCES host ("id");
|
||||
ALTER TABLE host_addr ADD FOREIGN KEY ("host_id") REFERENCES host ("id");
|
||||
ALTER TABLE host_status ADD FOREIGN KEY ("host_id") REFERENCES host ("id");
|
||||
ALTER TABLE promotion_pricing ADD FOREIGN KEY ("tld_id") REFERENCES domain_tld("id");
|
||||
ALTER TABLE premium_domain_pricing ADD FOREIGN KEY ("tld_id") REFERENCES domain_tld("id");
|
||||
ALTER TABLE premium_domain_pricing ADD FOREIGN KEY ("category_id") REFERENCES premium_domain_categories("category_id");
|
||||
ALTER TABLE support_tickets ADD FOREIGN KEY ("user_id") REFERENCES users(id);
|
||||
ALTER TABLE support_tickets ADD FOREIGN KEY ("category_id") REFERENCES ticket_categories(id);
|
||||
ALTER TABLE ticket_responses ADD FOREIGN KEY ("ticket_id") REFERENCES support_tickets(id);
|
19
database/registryTransaction.postgres.sql
Normal file
19
database/registryTransaction.postgres.sql
Normal file
|
@ -0,0 +1,19 @@
|
|||
CREATE TABLE transaction_identifier (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
registrar_id INT NOT NULL,
|
||||
clTRID VARCHAR(64),
|
||||
clTRIDframe TEXT,
|
||||
cldate TIMESTAMP(3) WITHOUT TIME ZONE,
|
||||
clmicrosecond INT,
|
||||
cmd VARCHAR(10) CHECK (cmd IN ('login','logout','check','info','poll','transfer','create','delete','renew','update')),
|
||||
obj_type VARCHAR(10) CHECK (obj_type IN ('domain','host','contact')),
|
||||
obj_id TEXT,
|
||||
code SMALLINT,
|
||||
msg VARCHAR(255),
|
||||
svTRID VARCHAR(64),
|
||||
svTRIDframe TEXT,
|
||||
svdate TIMESTAMP(3) WITHOUT TIME ZONE,
|
||||
svmicrosecond INT,
|
||||
CONSTRAINT unique_clTRID UNIQUE (clTRID),
|
||||
CONSTRAINT unique_svTRID UNIQUE (svTRID)
|
||||
);
|
|
@ -125,9 +125,9 @@ Now you need to update PostgreSQL Admin User Password:
|
|||
sudo -u postgres psql
|
||||
postgres=#
|
||||
postgres=# ALTER USER postgres PASSWORD 'demoPassword';
|
||||
postgres=# CREATE SCHEMA registry;
|
||||
postgres=# CREATE SCHEMA registryTransaction;
|
||||
postgres=# CREATE SCHEMA registryAudit;
|
||||
postgres=# CREATE DATABASE registry;
|
||||
postgres=# CREATE DATABASE registryTransaction;
|
||||
postgres=# CREATE DATABASE registryAudit;
|
||||
postgres=# \q
|
||||
```
|
||||
|
||||
|
@ -266,7 +266,7 @@ systemctl enable caddy
|
|||
systemctl restart caddy
|
||||
```
|
||||
|
||||
**And now is the right time to import the provided database file for your database type using Adminer.**
|
||||
**And now is the right time to import the provided database file(s) for your database type using Adminer.**
|
||||
|
||||
## 7. Control Panel Setup:
|
||||
|
||||
|
|
|
@ -166,12 +166,13 @@ EOF
|
|||
psql --version
|
||||
echo "Configuring PostgreSQL..."
|
||||
sudo -u postgres psql -c "ALTER USER postgres PASSWORD '$DB_PASSWORD';"
|
||||
sudo -u postgres psql -c "CREATE SCHEMA registry;"
|
||||
sudo -u postgres psql -c "CREATE SCHEMA registryTransaction;"
|
||||
sudo -u postgres psql -c "CREATE SCHEMA registryAudit;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE registry;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE registryTransaction;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE registryAudit;"
|
||||
|
||||
echo "Importing SQL file into PostgreSQL..."
|
||||
psql -U postgres -d postgres -f /opt/registry/database/registry.postgres.sql
|
||||
echo "Importing SQL files into PostgreSQL..."
|
||||
sudo -u postgres psql -U postgres -d registry -f /opt/registry/database/registry.postgres.sql
|
||||
sudo -u postgres psql -U postgres -d registrytransaction -f /opt/registry/database/registryTransaction.postgres.sql
|
||||
echo "SQL import completed."
|
||||
fi
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue