Skip to content

Commit

Permalink
fix migrations
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminshafii committed Nov 28, 2024
1 parent 96b1673 commit 35cf9b4
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions web/drizzle/migrations/reset-inactive-users.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,38 @@
import { db, UserUsageTable } from "../schema";
import { eq, sql } from "drizzle-orm";
import { eq, or, sql } from "drizzle-orm";

export async function resetInactiveUsers() {
try {
// 1. Reset token usage for inactive users
// 1. Reset token usage for inactive users or users with a lifetime billing cycle
await db
.update(UserUsageTable)
.set({
maxTokenUsage: 0,
tokenUsage: 0
})
.where(eq(UserUsageTable.subscriptionStatus, 'inactive'));
.where(
or(
eq(UserUsageTable.subscriptionStatus, 'inactive'),
eq(UserUsageTable.billingCycle, 'lifetime')
)
);

console.log("Successfully reset token usage for inactive users");
console.log("Successfully reset token usage for inactive users and users with a lifetime billing cycle");

// 2. Get count of affected users for logging
const inactiveUsers = await db
const affectedUsers = await db
.select({
count: sql<number>`count(*)`,
})
.from(UserUsageTable)
.where(eq(UserUsageTable.subscriptionStatus, 'inactive'));
.where(
or(
eq(UserUsageTable.subscriptionStatus, 'inactive'),
eq(UserUsageTable.billingCycle, 'lifetime')
)
);

console.log(`Reset ${inactiveUsers[0].count} inactive users`);
console.log(`Reset ${affectedUsers[0].count} users`);

} catch (error) {
console.error("Error during migration:", error);
Expand Down

0 comments on commit 35cf9b4

Please sign in to comment.