我试图使用Sequelize(1.7)与Postgresql(9.3)并尝试使用模式.我在数据库外部创建了模式,但在我的模型中使用它们.当我试图做模型关联时,Sequelize抱怨这种关系不存在.当我重新定义模型以使用PostgreSQL的默认"公共"模式时,它工作正常.
以下是测试用例的模型定义和代码
var Promise = require("bluebird");
var Sequelize = require("sequelize");
var _ = require('lodash-node');
var schemaName ="test_schema";
var sequelize = new Sequelize( c.database,c.username,
c.password,{dialect :'postgres', port:'5432',schema:schemaName});
var User =sequelize.define('User',{
id:{ type: Sequelize.INTEGER,primaryKey:true, autoIncrement:true},
name:{type:Sequelize.TEXT,allowNull:false},
nick_name:{type:Sequelize.TEXT,allowNull:true},
date_of_joining:{type:Sequelize.DATE,allowNull:false,defaultValue:Sequelize.NOW}
},
{
tableName:"user",
underscored:true,
timestamps:false
}
);
var Task = sequelize.define( 'Task',
{
id:{ type: Sequelize.INTEGER,primaryKey:true, autoIncrement:true},
name:{type:Sequelize.TEXT,allowNull:false},
begin_time:{type:Sequelize.DATE,allowNull:false,defaultValue:Sequelize.NOW},
end_time:{type:Sequelize.DATE,allowNull:true}
},
{
tableName:"task",
underscored:true,
timestamps:false
}
);
User.schema(schemaName);
Task.schema(schemaName);
User.hasMany( Task, {as:"Tasks"});
sequelize.sync( {force:true}, {logging:console.log})
.then( function( args ){
var users =[
{name:"Abraham Milbard"}, …Run Code Online (Sandbox Code Playgroud) 当一台J2ME应用程序在三星手机上运行时, 三星Bada是支持TouchWhiz的操作系统(在我的情况下是GT-S5320),默认情况下屏幕上会显示一个虚拟键盘!该虚拟键盘由以下键组成 - LEFT,RIGHT,UP,DOWN,FIRE和SOFT1,SOFT2.
无论如何,我可以控制何时显示这个键盘,何时不显示.我知道这将是一个特定于平台的解决方案.但它存在吗?谢谢, - Kiran Kuppa
编辑:我还必须注意谷歌地图(似乎是一个J2ME应用程序)没有显示这个键盘.我相信一定有办法压制它.
编辑2:谢谢你的纠正.我附上一张照片来说明.