2014-05-05 22:59:11 -04:00
<!DOCTYPE html> < html lang = "en" > < head > < title > lib/schema/builder< / title > < / head > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" > < meta name = "groc-relative-root" content = "../../" > < meta name = "groc-document-path" content = "lib/schema/builder" > < meta name = "groc-project-path" content = "lib/schema/builder.js" > < link rel = "stylesheet" type = "text/css" media = "all" href = "../../assets/style.css" > < script type = "text/javascript" src = "../../assets/behavior.js" > < / script > < body > < div id = "meta" > < div class = "file-path" > lib/schema/builder.js< / div > < / div > < div id = "document" > < div class = "segment" > < div class = "code" > < div class = "wrapper" > < span class = "kd" > var< / span > < span class = "nx" > _< / span > < span class = "o" > =< / span > < span class = "nx" > require< / span > < span class = "p" > (< / span > < span class = "s1" > ' lodash' < / span > < span class = "p" > );< / span >
< span class = "kd" > var< / span > < span class = "nx" > inherits< / span > < span class = "o" > =< / span > < span class = "nx" > require< / span > < span class = "p" > (< / span > < span class = "s1" > ' inherits' < / span > < span class = "p" > );< / span >
2014-05-28 22:29:34 -04:00
< span class = "kd" > var< / span > < span class = "nx" > EventEmitter< / span > < span class = "o" > =< / span > < span class = "nx" > require< / span > < span class = "p" > (< / span > < span class = "s1" > ' events' < / span > < span class = "p" > ).< / span > < span class = "nx" > EventEmitter< / span > < span class = "p" > ;< / span > < / div > < / div > < / div > < div class = "segment" > < div class = "comments " > < div class = "wrapper" > < p > Constructor for the builder instance, typically called from
2014-05-05 22:59:11 -04:00
< code > knex.builder< / code > , accepting the current < code > knex< / code > instance,
and pulling out the < code > client< / code > and < code > grammar< / code > from the current
knex instance.< / p > < / div > < / div > < div class = "code" > < div class = "wrapper" > < span class = "kd" > function< / span > < span class = "nx" > SchemaBuilder< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
< span class = "k" > this< / span > < span class = "p" > .< / span > < span class = "nx" > _sequence< / span > < span class = "o" > =< / span > < span class = "p" > [];< / span >
< span class = "k" > this< / span > < span class = "p" > .< / span > < span class = "nx" > _errors< / span > < span class = "o" > =< / span > < span class = "p" > [];< / span >
< span class = "p" > }< / span >
< span class = "nx" > inherits< / span > < span class = "p" > (< / span > < span class = "nx" > SchemaBuilder< / span > < span class = "p" > ,< / span > < span class = "nx" > EventEmitter< / span > < span class = "p" > );< / span > < / div > < / div > < / div > < div class = "segment" > < div class = "comments " > < div class = "wrapper" > < p > Each of the schema builder methods just add to the
"_sequence" array for consistency.< / p > < / div > < / div > < div class = "code" > < div class = "wrapper" > < span class = "nx" > _< / span > < span class = "p" > .< / span > < span class = "nx" > each< / span > < span class = "p" > ([< / span >
< span class = "s1" > ' createTable' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' table' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' alterTable' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' hasTable' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' hasColumn' < / span > < span class = "p" > ,< / span >
< span class = "s1" > ' dropTable' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' renameTable' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' dropTableIfExists' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' raw' < / span >
< span class = "p" > ],< / span > < span class = "kd" > function< / span > < span class = "p" > (< / span > < span class = "nx" > method< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "nx" > SchemaBuilder< / span > < span class = "p" > .< / span > < span class = "nx" > prototype< / span > < span class = "p" > [< / span > < span class = "nx" > method< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kd" > function< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "nx" > method< / span > < span class = "o" > ===< / span > < span class = "s1" > ' table' < / span > < span class = "p" > )< / span > < span class = "nx" > method< / span > < span class = "o" > =< / span > < span class = "s1" > ' alterTable' < / span > < span class = "p" > ;< / span >
< span class = "k" > this< / span > < span class = "p" > .< / span > < span class = "nx" > _sequence< / span > < span class = "p" > .< / span > < span class = "nx" > push< / span > < span class = "p" > ({< / span >
< span class = "nx" > method< / span > < span class = "o" > :< / span > < span class = "nx" > method< / span > < span class = "p" > ,< / span >
< span class = "nx" > args< / span > < span class = "o" > :< / span > < span class = "nx" > _< / span > < span class = "p" > .< / span > < span class = "nx" > toArray< / span > < span class = "p" > (< / span > < span class = "nx" > arguments< / span > < span class = "p" > )< / span >
< span class = "p" > });< / span >
< span class = "k" > return< / span > < span class = "k" > this< / span > < span class = "p" > ;< / span >
< span class = "p" > };< / span >
< span class = "p" > });< / span > < / div > < / div > < / div > < div class = "segment" > < div class = "comments " > < div class = "wrapper" > < p > return '[object Knex:SchemaBuilder]';< / p > < / div > < / div > < div class = "code" > < div class = "wrapper" > < span class = "nx" > SchemaBuilder< / span > < span class = "p" > .< / span > < span class = "nx" > prototype< / span > < span class = "p" > .< / span > < span class = "nx" > toString< / span > < span class = "o" > =< / span > < span class = "kd" > function< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
< span class = "k" > return< / span > < span class = "k" > this< / span > < span class = "p" > .< / span > < span class = "nx" > toQuery< / span > < span class = "p" > ();< / span >
< span class = "p" > };< / span >
< span class = "nx" > SchemaBuilder< / span > < span class = "p" > .< / span > < span class = "nx" > prototype< / span > < span class = "p" > .< / span > < span class = "nx" > toSQL< / span > < span class = "o" > =< / span > < span class = "kd" > function< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
< span class = "kd" > var< / span > < span class = "nx" > SchemaCompiler< / span > < span class = "o" > =< / span > < span class = "k" > this< / span > < span class = "p" > .< / span > < span class = "nx" > client< / span > < span class = "p" > .< / span > < span class = "nx" > SchemaCompiler< / span > < span class = "p" > ;< / span >
< span class = "k" > return< / span > < span class = "k" > new< / span > < span class = "nx" > SchemaCompiler< / span > < span class = "p" > (< / span > < span class = "k" > this< / span > < span class = "p" > ).< / span > < span class = "nx" > toSQL< / span > < span class = "p" > ();< / span >
< span class = "p" > };< / span >
< span class = "nx" > require< / span > < span class = "p" > (< / span > < span class = "s1" > ' ../interface' < / span > < span class = "p" > )(< / span > < span class = "nx" > SchemaBuilder< / span > < span class = "p" > );< / span >
< span class = "nx" > module< / span > < span class = "p" > .< / span > < span class = "nx" > exports< / span > < span class = "o" > =< / span > < span class = "nx" > SchemaBuilder< / span > < span class = "p" > ;< / span > < / div > < / div > < / div > < / div > < / body > < / html >