Im tring to run some knex seeds and I get a meaningless error at least for me: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your M ariaDB server version for the right syntax to use near ')' at line 1
I have no idea how to debug my code here is my migration schema:
exports.up = function(knex, Promise) {
return Promise.all([
knex.schema.createTable('codes', table => {
table.increments('id').primary();
table.string('code').notNullable().unique();
table.text('description').defaultTo(null);
table.integer('system_id').unsigned().references('systems.id').defaultTo(null);
table.integer('unit_id').unsigned().references('units.id').defaultTo(null);
}),
knex.schema.createTable('tags', table => {
table.increments('id').primary();
table.text('name').defaultTo(null);
}),
knex.schema.createTable('systems', table => {
table.increments('id').primary();
table.text('name').defaultTo(null);
}),
knex.schema.createTable('units', table => {
table.increments('id').primary();
table.text('name').defaultTo(null);
}),
knex.schema.createTable('codes_tags', table => {
table.increments('id').primary();
table.integer('tag_id').unsigned().references('tags.id');
table.integer('code_id').unsigned().references('codes.id');
})
])
};
exports.down = function(knex, Promise) {
return Promise.all([
knex.schema.dropTable('codes_tags'),
knex.schema.dropTable('codes'),
knex.schema.dropTable('tags'),
knex.schema.dropTable('systems'),
knex.schema.dropTable('units')
]);
};
And here is my seed file:
import { CODES } from './data/constants'
exports.seed = async function(knex, Promise) {
return await populateData(knex, CODES)
};
async function populateData(knex, data){
for(let code in data){
let system = await knex('systems').where({name: data[code].system}).select('id')
if(!system){
system = await knex('systems').insert({name: data[code].system});
}
let tag = await knex('tags').where({name: data[code].type}).select('id');
if(!tag){
tag = await knex('tags').insert({name: data[code].type})
}
let code = await knex('codes').insert({code: code, system_id: system})
await knex('codes_tags').insert({code_id: code, system_id: system})
}
}
via Radostin Slavov
No comments:
Post a Comment