PATH:
usr
/
local
/
lib
/
node_modules
/
knex-migrator
/
node_modules
/
knex
/
src
/
migrate
import { getTable, getLockTableName, getLockTableNameWithSchema, getTableName, } from './table-resolver'; export function ensureTable(tableName, schemaName, trxOrKnex) { const lockTable = getLockTableName(tableName); const lockTableWithSchema = getLockTableNameWithSchema(tableName, schemaName); return getSchemaBuilder(trxOrKnex, schemaName) .hasTable(tableName) .then((exists) => { return !exists && _createMigrationTable(tableName, schemaName, trxOrKnex); }) .then(() => { return getSchemaBuilder(trxOrKnex, schemaName).hasTable(lockTable); }) .then((exists) => { return ( !exists && _createMigrationLockTable(lockTable, schemaName, trxOrKnex) ); }) .then(() => { return getTable(trxOrKnex, lockTable, schemaName).select('*'); }) .then((data) => { return ( !data.length && trxOrKnex.into(lockTableWithSchema).insert({ is_locked: 0 }) ); }); } function _createMigrationTable(tableName, schemaName, trxOrKnex) { return getSchemaBuilder(trxOrKnex, schemaName).createTable( getTableName(tableName), function(t) { t.increments(); t.string('name'); t.integer('batch'); t.timestamp('migration_time'); } ); } function _createMigrationLockTable(tableName, schemaName, trxOrKnex) { return getSchemaBuilder(trxOrKnex, schemaName).createTable( tableName, function(t) { t.increments('index').primary(); t.integer('is_locked'); } ); } //Get schema-aware schema builder for a given schema nam export function getSchemaBuilder(trxOrKnex, schemaName) { return schemaName ? trxOrKnex.schema.withSchema(schemaName) : trxOrKnex.schema; }
[-] table-resolver.js
[edit]
[+]
..
[+]
stub
[-] table-creator.js
[edit]
[+]
sources
[-] migrate-stub.js
[edit]
[-] MigrationGenerator.js
[edit]
[-] Migrator.js
[edit]
[-] migration-list-resolver.js
[edit]