Вы можете присвоить ему значение buffer
. В приведенном ниже примере используется "sequelize": "^5.21.3"
.
. Для реальной ситуации вы можете создать буфер следующим образом:
import fs from 'fs';
const filepath = path.resolve(__dirname, './image.jpeg');
const profilePicture = Buffer.from(fs.readFileSync(filepath));
И записать эти данные BLOB в файл изображения:
import fs from 'fs';
const outputFilepath = path.resolve(__dirname, './output.jpeg');
fs.writeFileSync(outputFilepath, user.profilePicture, 'base64');
import { sequelize } from '../../db';
import { Model, DataTypes } from 'sequelize';
class User extends Model {}
User.init(
{
firstName: DataTypes.STRING,
lastName: DataTypes.STRING,
fullName: DataTypes.STRING,
profilePicture: DataTypes.BLOB,
},
{ sequelize, modelName: 'users', timestamps: true },
);
(async function test() {
try {
await sequelize.sync({ force: true });
// seed
await User.bulkCreate([
{
firstName: 'Andrew',
lastName: 'Perera',
fullName: 'Andrew Perera',
createdAt: new Date(),
updatedAt: new Date(),
profilePicture: Buffer.from('whatever'),
},
]);
const user = await User.findOne();
console.log('user:', user);
} catch (error) {
console.log(error);
} finally {
await sequelize.close();
}
})();
Результаты выполнения:
Executing (default): INSERT INTO "users" ("id","firstName","lastName","fullName","profilePicture","createdAt","updatedAt") VALUES (DEFAULT,'Andrew','Perera','Andrew Perera',E'\\x7768617465766572','2020-03-19 04:14:20.981 +00:00','2020-03-19 04:14:20.981 +00:00') RETURNING *;
Executing (default): SELECT "id", "firstName", "lastName", "fullName", "profilePicture", "createdAt", "updatedAt" FROM "users" AS "users" LIMIT 1;
user: { id: 1,
firstName: 'Andrew',
lastName: 'Perera',
fullName: 'Andrew Perera',
profilePicture: <Buffer 77 68 61 74 65 76 65 72>,
createdAt: 2020-03-19T04:14:20.981Z,
updatedAt: 2020-03-19T04:14:20.981Z
фиктивные записи данных в базе данных:
=# select * from users;
id | firstName | lastName | fullName | profilePicture | createdAt | updatedAt
----+-----------+----------+---------------+----------------+----------------------------+----------------------------
1 | Andrew | Perera | Andrew Perera | \x706963 | 2020-03-19 04:11:55.868+00 | 2020-03-19 04:11:55.868+00
(1 row)