import React, { Component } from 'react'
import { Breadcrumb, Space, Tag, Typography } from 'antd'
import Highlighter from 'pages/system/doc/highlighter'

const { Title, Text } = Typography

export default class migrations extends Component {
    render() {
        return (
            <Space direction="vertical" className="w-100-p">
                <Text>在建立或修改了实体类之后，可以将实体类更新到数据库。</Text>
                <Text>
                    在Visual Studio中选择
                    <Breadcrumb separator=">">
                        <Breadcrumb.Item>工具</Breadcrumb.Item>
                        <Breadcrumb.Item>NuGet 包管理器</Breadcrumb.Item>
                        <Breadcrumb.Item>程序包管理控制台</Breadcrumb.Item>
                    </Breadcrumb>
                    之后在打开的程序包管理控制台中，默认项目选择
                    <Tag className="ml-xs" color="orange">
                        Ewide.Database.Migrations
                    </Tag>
                    ，并在控制台中输入命令。
                </Text>
                <Title level={4}>生成迁移文件</Title>
                <Highlighter code={"add-migration init -c 'DefaultDbContext'"} language={'c++'} />
                <Text>其中</Text>
                <ul>
                    <li>
                        <p>
                            <Tag color="blue">add-migration</Tag>是固定的命令。
                        </p>
                    </li>
                    <li>
                        <p>
                            <Tag color="blue">init</Tag>是自定义的数据库版本号。
                        </p>
                    </li>
                    <li>
                        <p>
                            <Tag color="blue">-c</Tag>是固定的参数。
                        </p>
                    </li>
                    <li>
                        <p>
                            <Tag color="blue">'DefaultDbContext'</Tag>是对应的DbContext。
                        </p>
                    </li>
                </ul>
                <h4>更新迁移到数据库</h4>
                <Text>
                    在确保
                    <Tag className="ml-xs" color="orange">
                        Ewide.Database.Migrations
                    </Tag>
                    中已经生成迁移文件之后，可以运行更新命令。
                </Text>
                <Highlighter
                    code={"update-database -context 'DefaultDbContext'"}
                    language={'c++'}
                />
                <Text>其中</Text>
                <ul>
                    <li>
                        <p>
                            <Tag color="blue">update-database</Tag>是固定的命令。
                        </p>
                    </li>
                    <li>
                        <p>
                            <Tag color="blue">-context</Tag>是固定的参数。
                        </p>
                    </li>
                    <li>
                        <p>
                            <Tag color="blue">'DefaultDbContext'</Tag>是对应的DbContext。
                        </p>
                    </li>
                </ul>
            </Space>
        )
    }
}
