sqlite – sequelize migration无法正常工作
发布时间:2020-12-12 23:43:00 所属栏目:百科 来源:网络整理
导读:我创建了一个迁移并运行它.它说工作正常,但什么也没发生.我不认为它甚至连接到我的数据库. 我的迁移文件: var util = require("util");module.exports = {up : function(migration,DataTypes,done) {migration.createTable('nameOfTheNewTable',{ attr1 : D
我创建了一个迁移并运行它.它说工作正常,但什么也没发生.我不认为它甚至连接到我的数据库.
我的迁移文件: var util = require("util"); module.exports = { up : function(migration,DataTypes,done) { migration.createTable('nameOfTheNewTable',{ attr1 : DataTypes.STRING,attr2 : DataTypes.INTEGER,attr3 : { type : DataTypes.BOOLEAN,defaultValue : false,allowNull : false } }).success( function() { migration.describeTable('nameOfTheNewTable').success( function(attributes) { util.puts("nameOfTheNewTable Schema: " + JSON.stringify(attributes)); done(); }); }); },down : function(migration,done) { // logic for reverting the changes } }; 我的Config.json: { "development": { "username": "user","password": "pw","database": "my-db","dialect" : "sqlite","host": "localhost" } } 命令: ./node_modules/sequelize/bin/sequelize --migrate --env development Loaded configuration file "config/config.json". Using environment "development". Running migrations... 20130921234513-initial.js nameOfTheNewTable Schema: {"attr1":{"type":"VARCHAR(255)","allowNull":true,"defaultValue":null},"attr2":{"type":"INTEGER","attr3":{"type":"TINYINT(1)","allowNull":false,"defaultValue":false}} Completed in 8ms 我可以一遍又一遍地运行它,输出总是一样的.我已经在一个数据库上尝试过,我知道这个数据库有现有的表,并尝试描述这些表,但仍然没有任何反应. 难道我做错了什么? 编辑: 我很确定我没有连接到数据库,但尝试我可能无法使用迁移进行连接.我可以使用sqlite3 my-db.sqlite连接并运行诸如.tables之类的命令来查看我之前创建的表,但是我不能在我的生活中获得使用迁移创建的“nameOfTheNewTable”表. (我也希望在迁移中创建索引).我尝试过使用“开发”,更改config.json中的值,如主机,数据库(my-db,.. / my-db,my-db.sqlite)等. 这是一个很好的例子,在config.json中我把“数据库”:“bad-db”和迁移的输出完全相同.完成后,找不到bad-db.sqlite文件. 您需要在config.json中指定’storage’参数,以便sequelize知道要用作sqlite DB的文件.Sequelize默认使用sqlite的内存存储,因此它正在迁移内存数据库,然后退出,有效地破坏它刚刚迁移的数据库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |