0100class.mql 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. CREATE DB IF NOT EXISTS msqldb (
  2. -- 数据库驱动类型,单引号或双引号标记的字符串,
  3. -- 目前支持的类型有 sqlite|mysql ,新的类型需要更新 odbserver
  4. DRIVER : 'sqlite',
  5. -- 数据源定义,单引号或双引号标记的字符串,
  6. -- 不同数据库类型格式不一样,参考相关数据库驱动文档
  7. SOURCE : "file:data/testdb?cache=shared",
  8. -- 保留的附加选项,JSON对象,
  9. -- 通过 odbserver 支持的,不同数据库类型支持的选项不同
  10. OPTION : {
  11. "makedir": "auto" -- sqlite 自动创建数据库文件所在目录
  12. }
  13. -- mysql示例
  14. -- driver : "mysql",
  15. -- source : "user:password@tcp(127.0.0.1:3306)/dbname"
  16. )
  17. ;
  18. create class if not exists /msqldb () with namespace='msqldb', nickname='/msqldb'
  19. ;
  20. create class if not exists /mdb () with namespace='mdb'
  21. ;
  22. create class if not exists /mdb/dba1 (
  23. rdb bucket {
  24. "type" : "msqldb"
  25. },
  26. ) with nickname='dba1'
  27. ;
  28. create class if not exists /mdb/dba2 (
  29. xvarchar varchar,
  30. xint int,
  31. xbigint bigint,
  32. xdouble double,
  33. xrdb bucket {
  34. "type" : "msqldb",
  35. "fields": [{
  36. "name": "v_varchar",
  37. "type": "varchar"
  38. },{
  39. "name": "v_int",
  40. "type": "int"
  41. }],
  42. "conds" : {
  43. "type" : "match",
  44. "lexp": {
  45. "field": "xvarchar"
  46. },
  47. "rexp": {
  48. "field": "v_varchar"
  49. }
  50. }
  51. } "rdb test",
  52. xmap map<varchar, varchar>,
  53. xlist list<varchar>,
  54. xset set<varchar>,
  55. indexes(xvarchar, xint, xbigint, xdouble, xmap, xlist, xset),
  56. keys(xvarchar)
  57. ) with nickname='dba2'
  58. ;