mysql 自动建表建库 oracle 自动建表

mysql 自动化建表建库

  • 表结构
CREATE TABLE `meta_column` (
  `column_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `column_full_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '全名称',
  `column_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '名称',
  `short_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '短名',
  `default_value` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '默认值',
  `part_of_primary_key` int(11) DEFAULT NULL COMMENT '是否为主键的一部分',
  `part_of_unique_index` int(11) DEFAULT NULL COMMENT '是否为唯一索引的一部分',
  `referenced_column` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '引用列',
  `type` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '数据类型',
  `ordinal_position` int(11) DEFAULT NULL COMMENT '原始序号',
  `precision` int(11) DEFAULT NULL COMMENT '精度',
  `scale` int(255) DEFAULT NULL COMMENT '比例',
  `nullable` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '是否可空',
  `remarks` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '备注',
  `remarks_ext` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '备注信息(平台添加的)',
  `attribute_map` varchar(1000) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '属性map',
  `from_type` int(11) DEFAULT NULL COMMENT '0:表的列 1:视图的列 2:存储过程的列3函数的列',
  `data_state` int(11) DEFAULT NULL COMMENT '0无效 1有效',
  `meta_table_id` int(11) DEFAULT NULL COMMENT '表id或者视图id或者存储过程id',
  `meta_dir_id` int(11) DEFAULT NULL COMMENT '元目录id',
  `meta_db_dir_id` int(11) DEFAULT NULL COMMENT '数据库目录id',
  `proc_column_type` int(11) DEFAULT NULL COMMENT '存储过程的列类型',
  `last_operation` int(11) DEFAULT '0' COMMENT '最后操作: 0 初始状态 1新增,2修改,3删除',
  `last_operation_status` int(11) DEFAULT '0' COMMENT '0:初始状态 1待审核 2审核通过 3审核不通过',
  `column_family` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '所属列族',
  `custom_column_id` int(11) DEFAULT '0' COMMENT '客户录入列的id',
  `unique_column_flag` tinyint(1) unsigned zerofill DEFAULT '0' COMMENT '稽查唯一列标识,1.是,0.否',
  `infoitem_code` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '信息项编码',
  `infoitem_name` varchar(1000) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '信息项名称',
  `infoitem_index` int(11) DEFAULT NULL COMMENT '信息项编码自增值',
  PRIMARY KEY (`column_id`) USING BTREE,
  KEY `meta_table_id` (`meta_table_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=529137 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='元数据列信息表';

CREATE TABLE `meta_table` (
  `meta_table_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '表id',
  `table_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表名称',
  `table_full_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表全名',
  `table_type` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '表类型',
  `sort_index` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '排序',
  `schema_catalog` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'schema_类',
  `schema_name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'schema_名称',
  `attribute_map` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '属性map',
  `remarks` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '备注',
  `remarks_ext` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '备注(平台加)',
  `meta_dir_id` int(11) DEFAULT NULL COMMENT '元目录id(表类型的目录)',
  `meta_db_dir_id` int(11) DEFAULT NULL COMMENT '元目录(数据库目录)id',
  `data_source_id` int(11) DEFAULT NULL COMMENT '数据源id',
  `dept_id` int(11) DEFAULT NULL COMMENT '部门id',
  `data_state` int(2) DEFAULT NULL COMMENT '0无效 1有效',
  `table_version` int(11) DEFAULT '0' COMMENT '插入时版本号为1,以后每次修改都加1',
  `last_operation` int(11) DEFAULT NULL COMMENT '最后操作: 0 初始状态 1新增,2修改,3删除',
  `last_operation_status` int(11) DEFAULT '0' COMMENT '0待编目 1待发布 2待业务审批 3待信息中心审批 4业务部门退回 5信息部门退回 6已发布',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `column_familys` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '列族,多个逗号拼接',
  `custom_table_id` int(11) DEFAULT '0' COMMENT '客户录入表的id',
  `unique_column_id` int(11) DEFAULT NULL COMMENT '唯一列',
  `category_id` int(11) DEFAULT NULL COMMENT '分类目录id',
  `apply_user_id` int(11) DEFAULT NULL COMMENT '申请人id',
  `meta_version` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '版本信息',
  `meta_group_id` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '分组id',
  `service_table_type` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '武汉新增-业务表类型',
  `temp_migrate_data` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  `back_category_id` int(11) DEFAULT NULL,
  `middle_category_id` int(11) DEFAULT NULL,
  `ext_category_json` varchar(512) COLLATE utf8mb4_bin DEFAULT NULL,
  PRIMARY KEY (`meta_table_id`) USING BTREE,
  KEY `idx_unique_column_id` (`unique_column_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=27054 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='元数据表信息表';
CREATE TABLE `adqm_data_source` (
  `data_source_id` int(9) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `ref_id` int(11) DEFAULT NULL COMMENT '关联平台数据源id',
  `org_dept_id` int(11) DEFAULT NULL COMMENT '所属部门',
  `sys_name` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '系统名称(代码)',
  `duty_person` int(11) DEFAULT NULL COMMENT '责任人',
  `source_name` varchar(200) COLLATE utf8mb4_bin NOT NULL COMMENT '数据源名称',
  `source_type_code` decimal(9,0) NOT NULL COMMENT '数据源类型',
  `database_type` varchar(40) COLLATE utf8mb4_bin NOT NULL COMMENT '数据库类型',
  `host` varchar(23) COLLATE utf8mb4_bin NOT NULL COMMENT '主机ip或主机名',
  `port` decimal(5,0) NOT NULL COMMENT '端口',
  `db_service_name` varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT '数据库服务名',
  `user_name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户名',
  `password` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码',
  `db_con_url` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '连接串',
  `description` varchar(240) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '描述',
  `status` decimal(4,0) NOT NULL DEFAULT '1' COMMENT '状态',
  `db_instance_name` varchar(128) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '实例名称',
  `total_rows` decimal(10,0) DEFAULT '0' COMMENT '总记录数',
  `schema_name` varchar(20) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'schema名称',
  `data_state` int(2) DEFAULT '1' COMMENT '有效标识(0:无效,1:有效)',
  PRIMARY KEY (`data_source_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=83 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='数据源表';

组装

  • 建库
def check_database(db, database, type):
    if type == 'MySQL':
        import pymysql
        try:
            mydb = pymysql.connect(
                host=db['host'],
                user=db['user'],
                password=db['pass']
            )
        except Exception as e:
            print(e)

        mycursor = mydb.cursor()
        mycursor.execute("CREATE DATABASE IF NOT EXISTS %s" % database)
    else:
        import cx_Oracle
        dsn = cx_Oracle.makedsn(host='localhost', port=1521, sid='xe')
        with cx_Oracle.connect(user=r'fdm', password='qwe123', dsn=dsn) as connection:

            with connection.cursor() as cursor:
                exists = "select *  from dba_data_files  where TABLESPACE_NAME ='%s'" % database.upper()
                rows = cursor.execute(exists).fetchall()
                if len(rows) < 1:
                    stmt = "create tablespace %s datafile '%s_data.dbf' size 20M autoextend on next 5M maxsize 500M" % (
                        database, database)
                    for r in cursor.execute(stmt):
                        print(r)
                     
posted @ 2023-03-29 09:13  vx_guanchaoguo0  阅读(20)  评论(0编辑  收藏  举报