loopbackjs – 将内置模型迁移到数据库
|
如何将内置模型(如用户,角色,用户角色映射等)移动到我们创建的数据库而不是默认数据源:db?内置模型未在Arc中列出. 我已经尝试创建一个继承这些基本模型的新模型.但是,数据不会保存到新模型中. 请建议……我已经坐了几个星期了.谢谢 解决方法默认的“db”数据源放在内存中.这就是重启应用程序后不会保留数据的原因.您必须安装适当的数据库连接器,然后必须在server / datasources.js中为数据库添加数据源.http://docs.strongloop.com/display/public/LB/Connecting+models+to+data+sources 如果使用“slc loopback”命令创建应用程序,则数据源仅包含内存连接器.检查datasources.js文件,你会看到如下内容: {
"db": {
"name": "db","connector": "memory"
}
}
如果要在postgresql数据库中保留数据(对于任何支持的连接器,进程几乎相同),则必须使用数据库信息扩展datasoruces.json文件: {
"db": {
"name": "db","connector": "memory"
},"mydata": {
"host": "db_host","database": "your_database_name","username": "your_db_username","password": "your_db_password","connector": "postgresql"
}
}
您也可以使用“slc loopback:datasource”命令执行此操作.向导将帮助您定义数据源.不要忘记安装db连接器. npm install loopback-connector-postgresql 最后要做的是将数据源分配给所需的模型.您可以使用向导执行此操作(请参阅slc loopback:model命令),也可以手动编辑server / model-config.json文件. {
"User": {
"dataSource": "mydata","public": true
},"AccessToken": {
"dataSource": "mydata","public": false
},"ACL": {
"dataSource": "mydata","RoleMapping": {
"dataSource": "mydata","Role": {
"dataSource": "mydata","public": false
}
}
UPDATE var appModels = ['User','AccessToken','ACL','RoleMapping','Role'];
var ds = app.dataSources.mydata;
ds.isActual(appModels,function(err,actual) {
if (!actual) {
ds.autoupdate(appModels,function(err) {
if (err) throw (err);
});
}
});
我建议您阅读有关在strongloop页面上的模型创建/更新数据库模式的信息.注意自动更新和自动挂载功能之间的区别 http://docs.strongloop.com/display/public/LB/Creating+a+database+schema+from+models (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- mysql表的清空、删除和修改操作详解
- SQL Server每天自动备份数据库并每天自动清除log的脚本
- INamp;EXISTS与NOT INamp;NOT EXISTS 的优化原则小结
- sql – 从Materialized View DDL中删除表空间信息
- sql-server – 为什么Intellisense在SQL Server Management
- sql-server – 将SQL Server数据库从旧生产服务器移动到新服
- entity-framework – 未使用EF Migrations创建的SQL Azure表
- SQL Server 中 RAISERROR 的用法详细介绍
- sql-server – 在LINQ查询中使用DateTime?.Value.TimeOfDa
- sql-server – 为什么在这种情况下忽略ConnectTimeout?
