Knex move creating foreign key

I tried the code in the link to create the FK:

how to move knex.js

I got an error message:

table.bigInteger('AddressId').unsigned().index().inTable('Address').references('id'); 

Error:

 TypeError: Object # has no method 'inTable' at TableBuilder_MySQL._fn (/Users/lwang/knex/migrations/20150204161920_lei_maigration.js:15:56) at TableBuilder_MySQL.TableBuilder.toSQL (/Users/lwang/knex/node_modules/knex/lib/schema/tablebuilder.js:61:12) at SchemaCompiler_MySQL.createTable (/Users/lwang/knex/node_modules/knex/lib/schema/compiler.js:14:53) at SchemaCompiler_MySQL.SchemaCompiler.toSQL (/Users/lwang/knex/node_modules/knex/lib/schema/compiler.js:35:24) at SchemaBuilder_MySQL.SchemaBuilder.toSQL (/Users/lwang/knex/node_modules/knex/lib/schema/builder.js:41:35) at Runner_MySQL. (/Users/lwang/knex/node_modul... 
+5
source share
1 answer

This may be a little late, but the error is that

 table.bigInteger('AddressId').unsigned().index().inTable('Address').references('id'); 

should be written

 table.bigInteger('AddressId').unsigned().index().references('id').inTable('Address') 

The inTable function exists only after calling links, as described in the documentation http://knexjs.org/#Schema-inTable

Sets the "table" where the foreign key column is after calling column.references.

+15
source

Source: https://habr.com/ru/post/1212722/


All Articles