manuelvillar / sequelize-auto-migrations-ng Goto Github PK
View Code? Open in Web Editor NEWMigration generator for sequelize
License: MIT License
Migration generator for sequelize
License: MIT License
It is caused by sequelize/sequelize#8761. I don't know what should be done - waiting for sequelize to fix that, changing your project to avoid JSON data type usage, etc. But let it be here so this information can be found in advance.
The error is:
{ SequelizeDatabaseError: Column, parameter, or variable #3: Cannot find data type JSON.
at Query.formatError (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\sequelize\lib\dialects\mssql\query.js:315:12)
at Request.connection.lib.Request [as userCallback] (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\sequelize\lib\dialects\mssql\query.js:107:25)
at Request._this.callback (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\request.js:60:27)
at Connection.endOfMessageMarkerReceived (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\connection.js:1922:20)
at Connection.dispatchEvent (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\connection.js:1004:38)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\connection.js:805:18)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\token-stream-parser.js:54:15)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at addChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:291:12)
at readableAddChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:278:11)
at Parser.Readable.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:245:10)
at Parser.Transform.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:148:32)
at Parser.afterTransform (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:91:10)
at Parser._transform (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:69:9)
at Parser.Transform._read (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:184:10)
at Parser.Transform._write (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:172:83)
at doWrite (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_writable.js:428:64)
at writeOrBuffer (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_writable.js:417:5)
at Parser.Writable.write (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_writable.js:334:11)
name: 'SequelizeDatabaseError',
parent:
{ RequestError: Column, parameter, or variable #3: Cannot find data type JSON.
at RequestError (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\errors.js:34:12)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\connection.js:614:36)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\token-stream-parser.js:54:15)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at addChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:291:12)
at readableAddChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:278:11)
at Parser.Readable.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:245:10)
at Parser.Transform.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:148:32)
at doneParsing (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:110:18)
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:46:5
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:13:19
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:247:9
at Parser.awaitData (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:144:9)
at Parser.readUInt32LE (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:244:12)
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:12:90
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:446:11
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:433:9
at Parser.awaitData (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:144:9)
at Parser.readBuffer (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:430:12)
message: 'Column, parameter, or variable #3: Cannot find data type JSON.',
code: 'EREQUEST',
number: 2715,
state: 6,
class: 16,
serverName: 'ZARUBKIN-NOTE',
procName: '',
lineNumber: 1,
sql: 'IF OBJECT_ID(\'[SequelizeMetaMigrations]\', \'U\') IS NULL CREATE TABLE [SequelizeMetaMigrations] ([revision] INTEGER NOT NULL UNIQUE , [name] NVARCHAR(255) NOT NULL, [state] JSON NOT NULL, PRIMARY KEY ([revision]));' },
original:
{ RequestError: Column, parameter, or variable #3: Cannot find data type JSON.
at RequestError (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\errors.js:34:12)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\connection.js:614:36)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at Parser.<anonymous> (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\token-stream-parser.js:54:15)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at addChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:291:12)
at readableAddChunk (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:278:11)
at Parser.Readable.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_readable.js:245:10)
at Parser.Transform.push (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\readable-stream\lib\_stream_transform.js:148:32)
at doneParsing (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:110:18)
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:46:5
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:13:19
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:247:9
at Parser.awaitData (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:144:9)
at Parser.readUInt32LE (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:244:12)
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\infoerror-token-parser.js:12:90
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:446:11
at C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:433:9
at Parser.awaitData (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:144:9)
at Parser.readBuffer (C:\Users\Зарубкин\Documents\React Projects\uno\backend\node_modules\tedious\lib\token\stream-parser.js:430:12)
message: 'Column, parameter, or variable #3: Cannot find data type JSON.',
code: 'EREQUEST',
number: 2715,
state: 6,
class: 16,
serverName: 'ZARUBKIN-NOTE',
procName: '',
lineNumber: 1,
sql: 'IF OBJECT_ID(\'[SequelizeMetaMigrations]\', \'U\') IS NULL CREATE TABLE [SequelizeMetaMigrations] ([revision] INTEGER NOT NULL UNIQUE , [name] NVARCHAR(255) NOT NULL, [state] JSON NOT NULL, PRIMARY KEY ([revision]));' },
sql: 'IF OBJECT_ID(\'[SequelizeMetaMigrations]\', \'U\') IS NULL CREATE TABLE [SequelizeMetaMigrations] ([revision] INTEGER NOT NULL UNIQUE , [name] NVARCHAR(255) NOT NULL, [state] JSON NOT NULL, PRIMARY KEY ([revision]));' }
I have created a "order.js" model, then a first migration using
$ node ./node_modules/sequelize-auto-migrations-ng/bin/makemigration --name=order
And launch migration using sequelize
$ sequelize db:migrate
Sequelize CLI [Node: 10.5.0, CLI: 4.0.0, ORM: 3.33.0]
Loaded configuration file "config/config.json".
Using environment "development".
(node:19721) DeprecationWarning: Using the automatically created return value from client.query as an event emitter is deprecated and will be removed in [email protected]. Please see the upgrade guide at https://node-postgres.com/guides/upgrading
== 00001-order: migrating =======
ERROR: Unexpected identifier
Adding a value to an enum in postgres fails with:
ERROR: type "enum_MyTable_action" already exists
This is because it tries to do a changeColumn action that doesn't trigger an ALTER TYPE "enum_MyTable_action" ADD VALUE "new_value".
This is a sequelize problem see sequelize/sequelize#1020 and sequelize/sequelize#7151 but it may be circumvented aparently, see this question in stackoverflow for an aproach.
This is done in SanvirDessai/sequelize-auto-migrations@4aa6e50 and tested on MySQL.
I guess I'm doing something wrong, but it seems like the migration datetime identifier is too big for the integer column assigned to it in the meta migrations table in postgres 10...
original: error: value "20200107231058" is out of range for type integer
According to postgres docs, integer type is -2147483648 to +2147483647
# select 20200107231058 > 2147483647;
?column?
----------
t
(1 row)
From makemigrations.js, line 84
queryInterface.createTable('SequelizeMetaMigrations', {
revision: {
type: Sequelize.INTEGER,
allowNull: false,
unique: true,
primaryKey: true,
},
name: {
type: Sequelize.STRING,
allowNull: false,
},
state: {
type: Sequelize.JSON,
allowNull: false,
},
Perhaps you would like a pull request to change the type of that column, or maybe there's a configuration that lets me change those identifiers to something smaller?
Thanks for merging in my PR, I needed that fix!
Would be great if you could publish a new version as well, thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.