Drizzle kit migration doesn't reflect schema's relations

I have two schemas in my application, one for parent courses and another one for child courses; they have a one-to-many relation between each other (one parent course can have multiple child courses).

When I run npx drizzle-kit generate:pg I see the output in the CLI stating that non of them have foreign keys and when I check the snapshot I verified that no foreign key is present.

My config looks like this:

// drizzle.config.ts
export default {
    schema: './src/schemas/*.ts',
    driver: 'pg',
    out: './drizzle',
    dbCredentials: {
        connectionString: dbConnectionString,
    },
} satisfies Config;

And both my schemas and their declared relationships are in ./src/schemas/:

// parentCoursesSchema.ts
import { pgTable, text, varchar, integer } from 'drizzle-orm/pg-core';

const parentCourses = pgTable('parentCourses', {
    id: integer('curso parent').primaryKey(),
    titulo: varchar('titulo', { length: 255 }),
    // rest of the schema
});

export default parentCourses;


// coursesSchema.ts
import {
    pgTable,
    text,
    varchar,
    integer,
    time,
    timestamp,
    boolean,
} from 'drizzle-orm/pg-core';

const courses = pgTable('courses', {
    nombre: varchar('nombre', { length: 255 }).primaryKey(),
    cursoParent: integer('curso parent'),
    // rest of the schema
});

export default courses;


// coursesRelations.ts
import { relations } from 'drizzle-orm';
import courses from './coursesSchema';
import parentCourses from './parentCoursesSchema';

export const coursesRelations = relations(courses, ({ one }) => ({
    parentCourse: one(parentCourses, {
        fields: [courses.cursoParent],
        references: [parentCourses.id],
    }),
}));

export const parentCoursesRelations = relations(parentCourses, ({ many }) => ({
    courses: many(courses),
}));


Does anyone knows what I'm doing wrong here?
Was this page helpful?