Define shared columns

hello ,
please i'm trying to create some shared columns definition in able to be used in multiple tables .
my file structure :
-> database/tables/<table_name>.ts : containing table definition + relations + schemas + types
-> database/tables/utils.ts: containing the shared functions + columns definitions
-> database/tables/index.ts : export all the tables + utils

here is where i define the shared columns : ( database/tables/utils.ts)
const tokenCols = {
    id: serial('id').primaryKey(),
    userId: text('user_id')
        .notNull()
        .references(() => usersTable.id, { onDelete: 'cascade' }),
    email: text('email').notNull(),
    token: text('token').notNull(),
    expiresAt: timestamp('expires_at', { withTimezone: true, mode: 'date' }).notNull()
};

const timestampsCols = {
    createdAt: timestamp('created_at', { mode: 'date' }).notNull().defaultNow(),
    updatedAt: timestamp('updated_at', { mode: 'date' }).$onUpdate(() => new Date())
};

const coordinatesCols = {
    latitude: text('latitude'),
    longitude: text('longitude')
};

function lower(email: AnyPgColumn): SQL {
    return sql`lower(${email})`;
}

export {lower, coordinatesCols, timestampsCols, tokenCols };


error:

Cannot access 'timestampsCols' before initialization
Was this page helpful?