/**
* Users module tables. Module-owned naming: users_
.
* FKs to identity_users are schema-level integrity only; runtime queries in
* the users module touch users_* tables exclusively.
*/
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
export const up = (pgm) => {
pgm.sql(`
CREATE TABLE users_profiles (
user_id uuid PRIMARY KEY REFERENCES identity_users(id) ON DELETE CASCADE,
display_name text,
phone text,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
)
`);
pgm.sql(`
CREATE TABLE users_addresses (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
user_id uuid NOT NULL REFERENCES identity_users(id) ON DELETE CASCADE,
label text,
recipient_name text NOT NULL,
street text NOT NULL,
city text NOT NULL,
postal_code text NOT NULL,
country text NOT NULL,
is_default boolean NOT NULL DEFAULT false,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
)
`);
pgm.sql('CREATE INDEX users_addresses_user_id_idx ON users_addresses (user_id)');
};
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
export const down = (pgm) => {
pgm.sql('DROP TABLE IF EXISTS users_addresses');
pgm.sql('DROP TABLE IF EXISTS users_profiles');
};