add feature to create db itself
This commit is contained in:
		
							parent
							
								
									7208720fb6
								
							
						
					
					
						commit
						af3e6ce192
					
				
					 1 changed files with 10 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1,9 +1,14 @@
 | 
			
		|||
import { existsSync } from 'fs';
 | 
			
		||||
import Knex from 'knex';
 | 
			
		||||
import {Knex as KnexConfig} from './config';
 | 
			
		||||
 | 
			
		||||
export async function connectDB(){
 | 
			
		||||
    const config = require('./../knexfile');
 | 
			
		||||
    const env = process.env.NODE_ENV || 'development';
 | 
			
		||||
    const config = KnexConfig.config;
 | 
			
		||||
    if(env != "production" && env != "development"){
 | 
			
		||||
        throw new Error("process unknown value in NODE_ENV: must be either \"development\" or \"production\"");
 | 
			
		||||
    }
 | 
			
		||||
    const init_need = existsSync(config[env].connection.filename);
 | 
			
		||||
    const knex = Knex(config[env]);
 | 
			
		||||
    let tries = 0;
 | 
			
		||||
    for(;;){
 | 
			
		||||
| 
						 | 
				
			
			@ -24,5 +29,9 @@ export async function connectDB(){
 | 
			
		|||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    if(init_need){
 | 
			
		||||
        const migrate = await import("../migrations/initial");
 | 
			
		||||
        await migrate.up(knex);
 | 
			
		||||
    }
 | 
			
		||||
    return knex;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue