Skip to content

Commit

Permalink
fix(migrate): remove unnecessary await
Browse files Browse the repository at this point in the history
  • Loading branch information
Jolg42 committed Nov 25, 2020
1 parent cc06e44 commit 0b09049
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 306 deletions.
62 changes: 16 additions & 46 deletions src/packages/migrate/src/Migrate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ export class Migrate {
return fs.readFileSync(this.schemaPath, 'utf-8')
}

public async reset(): Promise<void> {
await this.engine.reset()
public reset(): Promise<void> {
return this.engine.reset()
}

public async draft({ name = '' }: MigrateOptions = {}): Promise<string> {
Expand All @@ -251,16 +251,16 @@ export class Migrate {
return createMigrationResult.generatedMigrationName!
}

public async createMigration(
public createMigration(
params: EngineArgs.CreateMigrationInput,
): Promise<EngineResults.CreateMigrationOutput> {
return await this.engine.createMigration(params)
return this.engine.createMigration(params)
}

public async diagnoseMigrationHistory(): Promise<
public diagnoseMigrationHistory(): Promise<
EngineResults.DiagnoseMigrationHistoryOutput
> {
return await this.engine.diagnoseMigrationHistory({
return this.engine.diagnoseMigrationHistory({
migrationsDirectoryPath: this.migrationsDirectoryPath,
})
}
Expand All @@ -282,15 +282,14 @@ export class Migrate {
}
}

public async listMigrationDirectories(): Promise<
public listMigrationDirectories(): Promise<
EngineResults.ListMigrationDirectoriesOutput
> {
const listMigrationDirectoriesResult = await this.engine.listMigrationDirectories(
const listMigrationDirectoriesResult = this.engine.listMigrationDirectories(
{
migrationsDirectoryPath: this.migrationsDirectoryPath,
},
)
debug({ listMigrationDirectoriesResult })
return listMigrationDirectoriesResult
}

Expand All @@ -309,62 +308,33 @@ export class Migrate {
return markMigrationApplied
}

public async markMigrationRolledBack({
public markMigrationRolledBack({
migrationId,
}: {
migrationId: string
}): Promise<void> {
const markMigrationRolledBack = await this.engine.markMigrationRolledBack({
return this.engine.markMigrationRolledBack({
migrationName: migrationId,
})
return markMigrationRolledBack
}

public async applyScript({ script }: { script: string }): Promise<void> {
const appliedScriptResult = await this.engine.applyScript({ script })
debug({ appliedScriptResult })
return appliedScriptResult
public applyScript({ script }: { script: string }): Promise<void> {
return this.engine.applyScript({ script })
}

public async applyOnly(): Promise<string[]> {
const { appliedMigrationNames } = await this.engine.applyMigrations({
public applyOnly(): Promise<EngineResults.ApplyMigrationsOutput> {
return this.engine.applyMigrations({
migrationsDirectoryPath: this.migrationsDirectoryPath,
})
debug({ appliedMigrationNames })

return appliedMigrationNames
}

public async evaluateDataLoss(): Promise<
EngineResults.EvaluateDataLossOutput
> {
const datamodel = this.getDatamodel()

const evaluateDataLossResult = await this.engine.evaluateDataLoss({
migrationsDirectoryPath: this.migrationsDirectoryPath,
prismaSchema: datamodel,
})

debug({ evaluateDataLossResult })
return evaluateDataLossResult
}

public async createAndApply({ name = '' }: MigrateOptions = {}): Promise<
string[]
> {
public evaluateDataLoss(): Promise<EngineResults.EvaluateDataLossOutput> {
const datamodel = this.getDatamodel()

// success?
const createMigrationResult = await this.createMigration({
return this.engine.evaluateDataLoss({
migrationsDirectoryPath: this.migrationsDirectoryPath,
migrationName: name,
draft: false,
prismaSchema: datamodel,
})
debug({ createMigrationResult })

// success?
return this.applyOnly()
}

public async push({
Expand Down
2 changes: 1 addition & 1 deletion src/packages/migrate/src/commands/MigrateDeploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ ${chalk.bold('Options')}

await ensureDatabaseExists('apply', true, schemaPath)

const migrationIds = await migrate.applyOnly()
const { appliedMigrationNames: migrationIds } = await migrate.applyOnly()

migrate.stop()

Expand Down
18 changes: 12 additions & 6 deletions src/packages/migrate/src/commands/MigrateDev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -223,9 +223,6 @@ ${failedMigrationError.message}`,
}
}
} else {
debug({ drift: diagnoseResult.drift })
debug({ history: diagnoseResult.history })

if (diagnoseResult.drift) {
if (diagnoseResult.drift?.diagnostic === 'migrationFailedToApply') {
// Migration has a problem (failed to cleanly apply to a temporary database) and
Expand Down Expand Up @@ -299,7 +296,9 @@ ${diagnoseResult.drift.error.message}`,

if (diagnoseResult.history) {
if (diagnoseResult.history.diagnostic === 'databaseIsBehind') {
migrationIdsFromDatabaseIsBehind = await migrate.applyOnly()
const {
appliedMigrationNames: migrationIdsFromDatabaseIsBehind,
} = await migrate.applyOnly()
// Inform user about applied migrations now
if (migrationIdsFromDatabaseIsBehind.length > 0) {
console.info(
Expand Down Expand Up @@ -379,9 +378,16 @@ ${diagnoseResult.drift.error.message}`,
}
}

const migrationIds = await migrate.createAndApply({
name: migrationName,
const createMigrationResult = await migrate.createMigration({
migrationsDirectoryPath: migrate.migrationsDirectoryPath,
migrationName: migrationName || '',
draft: false,
prismaSchema: migrate.getDatamodel(),
})
debug({ createMigrationResult })

const { appliedMigrationNames: migrationIds } = await migrate.applyOnly()

migrate.stop()

if (migrationIds.length === 0) {
Expand Down
4 changes: 2 additions & 2 deletions src/packages/migrate/src/commands/MigrateReset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ ${chalk.bold('Examples')}
Specify a schema
${chalk.dim(
'$',
)} prisma migrate reset --schema=./schema.prisma' --early-access-feature
)} prisma migrate reset --schema=./schema.prisma --early-access-feature
`)

public async parse(argv: string[]): Promise<string | Error> {
Expand Down Expand Up @@ -137,7 +137,7 @@ ${chalk.bold('Examples')}

await migrate.reset()

const migrationIds = await migrate.applyOnly()
const { appliedMigrationNames: migrationIds } = await migrate.applyOnly()
migrate.stop()

if (migrationIds.length === 0) {
Expand Down
3 changes: 0 additions & 3 deletions src/packages/migrate/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,6 @@ export namespace EngineArgs {
export interface ApplyScriptInput {
script: string
}
export interface InitializeInput {
migrationsDirectoryPath: string
}
export interface DiagnoseMigrationHistoryInput {
migrationsDirectoryPath: string
}
Expand Down

0 comments on commit 0b09049

Please sign in to comment.