| Server IP : 159.203.156.69 / Your IP : 216.73.216.37 Web Server : nginx/1.24.0 System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/tanviranik.com/node_modules/drizzle-orm/mysql-proxy/ |
Upload File : |
import { readMigrationFiles } from "../migrator.js";
import { sql } from "../sql/sql.js";
async function migrate(db, callback, config) {
const migrations = readMigrationFiles(config);
const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
const migrationTableCreate = sql`
create table if not exists ${sql.identifier(migrationsTable)} (
id serial primary key,
hash text not null,
created_at bigint
)
`;
await db.execute(migrationTableCreate);
const dbMigrations = await db.select({
id: sql.raw("id"),
hash: sql.raw("hash"),
created_at: sql.raw("created_at")
}).from(sql.identifier(migrationsTable).getSQL()).orderBy(
sql.raw("created_at desc")
).limit(1);
const lastDbMigration = dbMigrations[0];
const queriesToRun = [];
for (const migration of migrations) {
if (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {
queriesToRun.push(
...migration.sql,
`insert into ${sql.identifier(migrationsTable).value} (\`hash\`, \`created_at\`) values('${migration.hash}', '${migration.folderMillis}')`
);
}
}
await callback(queriesToRun);
}
export {
migrate
};
//# sourceMappingURL=migrator.js.map