zoukankan      html  css  js  c++  java
  • golang xorm reverse 自动生成数据库实体文件

    一、先安装好需要的东西

    xorm 也可以参考官方文档 readme.md https://github.com/go-xorm/cmdhttp://xorm.io/docs/

    go get github.com/go-xorm/cmd/xorm
    

    安装驱动版本,选择自己需要用的

    go get github.com/go-sql-driver/mysql  //Mysql
    go get github.com/ziutek/mymysql/godrv  //MyMysql
    go get github.com/lib/pq  //Postgres
    go get github.com/mattn/go-sqlite3  //SQLite
    go get github.com/denisenkom/go-mssqldb  //MSSQL
    

    二、配置%GOPATH%/Bin的环境变量

    三、测试xorm cmd是否安装成功

    xorm help reverse
    

    xorm reverse命令参数如下所示

    D:MyConfigurationxxx>xorm help reverse
    usage: xorm reverse [-s] driverName datasourceName tmplPath [generatedPath] [tableFilterReg]
    
    according database's tables and columns to generate codes for Go, C++ and etc.
    
        -s                Generated one go file for every table
        driverName        Database driver name, now supported four: mysql mymysql sqlite3 postgres
        datasourceName    Database connection uri, for detail infomation please visit driver's project page
        tmplPath          Template dir for generated. the default templates dir hasprovide 1 template
        generatedPath     This parameter is optional, if blank, the default value is models, then will
                          generated all codes in models dir
        tableFilterReg    Table name filter regexp
    

    注意的是下面指令中的templates/goxorm 指的是%GOPATH%/Srcgithub.comgo-xormcmdxorm emplatesgoxorm
    如果是cd切换到了%GOPATH%/Srcgithub.comgo-xormcmdxorm的目录,就可以使用下面的指令,否则tmplPath请填写完整路径。
    参考案例:MSSQL

    database command
    sqlite xorm reverse sqite3 test.db templates/goxorm C: emp
    mysql xorm reverse mysql "root:123456@(127.0.0.1:3306)/test?charset=utf8" templates/goxorm C: emp
    mymysql xorm reverse mymysql xorm_test2/root/ templates/goxorm C: emp
    postgres xorm reverse postgres "user=postgres password=123456 dbname=test host=127.0.0.1 port=5432 sslmode=disable" templates/goxorm C: emp
    mssql xorm reverse mssql "server=127.0.0.1;user id=testid;password=testpwd;database=testdb" templates/goxorm C: emp

    ps:command 最后的 C: emp 是指定 generatedPath(代码生成的目录)方便找到生成的代码,此参数非必填
    可以在项目里创建一个bat批处理文件直接生成实体代码。

    案例:MSSQL
    方式一:指定 tmplPath(生成代码的模板文件)绝对路径

    xorm reverse mssql "server=127.0.0.1;user id=sa;password=123456;database=shifenzheng" %GOPATH%Srcgithub.comgo-xormcmdxorm	emplatesgoxorm  C:	emp
    

    方式二:cd先切换到xorm/cmd/xorm文件夹下再执行

    cd %GOPATH%/Srcgithub.comgo-xormcmdxorm
    xorm reverse mssql "server=127.0.0.1;user id=sa;password=123456;database=shifenzheng" templatesgoxorm  C:	emp
    

    如图:

    生成后的代码:

    案例:POSTGRESQL

    cd %GOPATH%/Srcgithub.comgo-xormcmdxorm
    xorm reverse postgres "user=postgres password=123456 dbname=test host=127.0.0.1 port=5432 sslmode=disable" templatesgoxorm  C:	emp
    

    如果生成报错 Unknown colType: USER-DEFINED ,是因为表中有列包含了自定义数据类型,xorm官方暂时还不支持(如 ltree、postgis等)
    https://github.com/go-xorm/xorm/issues/667 类似的issues还是挺多的

  • 相关阅读:
    document.createElement在IE和Firefox下的差异
    css3:基础知识
    XMLTProcessor根据XSLT样式规则将节点转换为document对象
    Sql:查看数据库表和表结构的语句
    前端性能优化方法总结
    vue-resource 设置请求的参数以formData形式以及设置请求的过滤器
    vuex
    vue 随笔3
    vuex
    vue随笔2
  • 原文地址:https://www.cnblogs.com/nickchou/p/9561561.html
Copyright © 2011-2022 走看看