Я относительно новичок в node и knex, и в настоящее время я работаю над созданием базы данных под названием g42beats_dev, в которой у меня есть миграция для таблицы песен. миграция выглядит следующим образом:
exports.up = function(knex, Promise) {
return knex.schema.createTable('songs', (table) => {
table.increments('id').primary();
table.integer('user_id').references('id').inTable('users').notNullable().onDelete('cascade');
table.string('song_name').notNullable().defaultTo('');
table.string('artist').notNullable().defaultTo('');
table.timestamps(true,true);
});
};
exports.down = function(knex, Promise) {
return knex.schema.dropTable('songs');
};
миграция происходит нормально. Вот изображение:
Проблема в том, что я пытаюсь засеять данные. Я написал следующий код для заполнения данных:
exports.seed = function(knex, Promise) {
// Deletes ALL existing entries
return knex('songs').del()
.then(function() {
// Inserts seed entries
return knex('songs').insert([
{
id: 1,
user_id: 1,
song_name: 'Ode to Viceroy',
artist: 'Mac DeMarco',
created_at: new Date(),
updated_at: new Date()
},
{
id: 2,
user_id: 1,
song_name: 'Apocalypse Dreams',
artist: 'Tame Impala',
created_at: new Date(),
updated_at: new Date()
},
{
id: 3,
user_id: 14,
song_name: 'เพื่อนรัก',
artist: 'Parkinson',
created_at: new Date(),
updated_at: new Date()
}
])
.then(() => {
return knex.raw("SELECT setval('songs_id_seq', (SELECT MAX(id) FROM songs))");
});
});
};
после создания этого я запустил knex seed:run songs
, но это не заполнение данных.
может кто-нибудь дать некоторое представление о том, почему это может происходить? и, возможно, способ, которым я могу выполнить заполнение этих данных. Спасибо.
knex seed:run
, все заработало отлично. - person Ivonne Terrero   schedule 20.03.2017